diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-05-29 04:34:58 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-06-03 15:00:20 -0400 |
commit | f118a91d16127e461cc8c17c529306910f13a8b1 (patch) | |
tree | 96f31c93ef9f044f8b77077b1f16f499944e9c5a /drivers/net/wireless/iwlwifi/iwl-5000.c | |
parent | 7f066108d15d06ec3534434333f0274c868fe798 (diff) |
iwlwifi: implement apm stop function
This patch adds apm stop function for 4965 and 5000.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-5000.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index 10054bdf3e4c..27cfe3c9a58d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -100,6 +100,25 @@ static int iwl5000_apm_init(struct iwl_priv *priv) | |||
100 | return ret; | 100 | return ret; |
101 | } | 101 | } |
102 | 102 | ||
103 | /* FIXME: this is indentical to 4965 */ | ||
104 | static void iwl5000_apm_stop(struct iwl_priv *priv) | ||
105 | { | ||
106 | unsigned long flags; | ||
107 | |||
108 | iwl4965_hw_nic_stop_master(priv); | ||
109 | |||
110 | spin_lock_irqsave(&priv->lock, flags); | ||
111 | |||
112 | iwl_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET); | ||
113 | |||
114 | udelay(10); | ||
115 | |||
116 | iwl_set_bit(priv, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE); | ||
117 | |||
118 | spin_unlock_irqrestore(&priv->lock, flags); | ||
119 | } | ||
120 | |||
121 | |||
103 | static int iwl5000_apm_reset(struct iwl_priv *priv) | 122 | static int iwl5000_apm_reset(struct iwl_priv *priv) |
104 | { | 123 | { |
105 | int ret = 0; | 124 | int ret = 0; |
@@ -859,6 +878,7 @@ static struct iwl_lib_ops iwl5000_lib = { | |||
859 | .apm_ops = { | 878 | .apm_ops = { |
860 | .init = iwl5000_apm_init, | 879 | .init = iwl5000_apm_init, |
861 | .reset = iwl5000_apm_reset, | 880 | .reset = iwl5000_apm_reset, |
881 | .stop = iwl5000_apm_stop, | ||
862 | .config = iwl5000_nic_config, | 882 | .config = iwl5000_nic_config, |
863 | .set_pwr_src = iwl4965_set_pwr_src, | 883 | .set_pwr_src = iwl4965_set_pwr_src, |
864 | }, | 884 | }, |