aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-5000.c
diff options
context:
space:
mode:
authorTomas Winkler <tomas.winkler@intel.com>2008-05-29 04:34:58 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-06-03 15:00:20 -0400
commitf118a91d16127e461cc8c17c529306910f13a8b1 (patch)
tree96f31c93ef9f044f8b77077b1f16f499944e9c5a /drivers/net/wireless/iwlwifi/iwl-5000.c
parent7f066108d15d06ec3534434333f0274c868fe798 (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.c20
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 */
104static 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
103static int iwl5000_apm_reset(struct iwl_priv *priv) 122static 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 },