Browse Source

iwl3945: move iwl_power_initialize()

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>
Ben Cahill 16 years ago
parent
commit
008a9e3e3c

+ 0 - 2
drivers/net/wireless/iwlwifi/iwl-3945.c

@@ -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);
 

+ 1 - 0
drivers/net/wireless/iwlwifi/iwl3945-base.c

@@ -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