iwl3945: move iwl_power_initialize()
authorBen Cahill <ben.m.cahill@intel.com>
Fri, 9 Oct 2009 20:20:27 +0000 (13:20 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 27 Oct 2009 20:47:59 +0000 (16:47 -0400)
iwl_power_initialize() initializes driver data (not device hardware), and does
not need to execute more than once (when the driver initializes).  Therefore, it
does not belong in iwl3945_apm_init(), which initializes hardware, and may run
more than once.

Move it to iwl3945_pci_probe(), where it will run only once.  This agrees
with similar placement in iwl-agn.c's iwl_pci_probe(), although placement
under "services" seemed more appropriate than under "mac80211".

Signed-off-by: Ben Cahill <ben.m.cahill@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-3945.c
drivers/net/wireless/iwlwifi/iwl3945-base.c

index f8ce96c..4e15a8e 100644 (file)
@@ -991,8 +991,6 @@ static int iwl3945_apm_init(struct iwl_priv *priv)
 {
        int ret;
 
-       iwl_power_initialize(priv);
-
        /* Configure chip clock phase-lock-loop */
        iwl_set_bit(priv, CSR_ANA_PLL_CFG, CSR39_ANA_PLL_CFG_VAL);
 
index 2406b73..e0e566c 100644 (file)
@@ -4064,6 +4064,7 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e
                             &priv->bands[IEEE80211_BAND_2GHZ].channels[5]);
        iwl3945_setup_deferred_work(priv);
        iwl3945_setup_rx_handlers(priv);
+       iwl_power_initialize(priv);
 
        /*********************************
         * 8. Setup and Register mac80211