diff options
author | Ben Cahill <ben.m.cahill@intel.com> | 2009-10-30 14:36:06 -0700 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-11-02 15:39:44 -0500 |
commit | 88521364cc04b67f36748983545b9fe1d4ba4a15 (patch) | |
tree | 439c03a036e51326fd472f33932884047c0f3ee1 /drivers/net/wireless/iwlwifi/iwl3945-base.c | |
parent | 5220af0c3b44f5d6e32661e5bb49154c514dbf4f (diff) | |
download | kernel_samsung_smdk4412-88521364cc04b67f36748983545b9fe1d4ba4a15.zip kernel_samsung_smdk4412-88521364cc04b67f36748983545b9fe1d4ba4a15.tar.gz kernel_samsung_smdk4412-88521364cc04b67f36748983545b9fe1d4ba4a15.tar.bz2 |
iwlwifi: remove power-wasting calls to apm_ops.init()
To save power, don't run apm_ops.init() until needed at "up" time.
EEPROM (5000 and earlier devices) may be read without running apm_ops.init(),
but OTP reads (6000 and newer devices) require a powered-up chip.
Therefore, remove apm_ops.init() from the general path in XXXX_pci_probe(),
and call it only if device uses OTP. Once done with OTP read, call
apm_ops.stop() to reset chip and save power until "up" time comes around.
NOTE: This patch depends on removal of priv->lock from iwl_apm_stop();
lock does not get initialized until later in flow. See patch
"remove unneeded locks from apm_stop()".
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>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl3945-base.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 5c80a83..23b31e6 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c @@ -4000,13 +4000,6 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e */ spin_lock_init(&priv->reg_lock); - /* amp init */ - err = priv->cfg->ops->lib->apm_ops.init(priv); - if (err < 0) { - IWL_DEBUG_INFO(priv, "Failed to init the card\n"); - goto out_iounmap; - } - /*********************** * 4. Read EEPROM * ********************/ |