iwlwifi: remove power-wasting calls to apm_ops.init()
authorBen Cahill <ben.m.cahill@intel.com>
Fri, 30 Oct 2009 21:36:06 +0000 (14:36 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 2 Nov 2009 20:39:44 +0000 (15:39 -0500)
commit88521364cc04b67f36748983545b9fe1d4ba4a15
tree439c03a036e51326fd472f33932884047c0f3ee1
parent5220af0c3b44f5d6e32661e5bb49154c514dbf4f
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>
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-eeprom.c
drivers/net/wireless/iwlwifi/iwl3945-base.c