diff options
author | Abhijeet Kolekar <abhijeet.kolekar@intel.com> | 2009-10-02 16:44:04 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-10-07 16:39:45 -0400 |
commit | d68b603cf01a6e7d8c85c5a86db751ed3960c0c7 (patch) | |
tree | feb661659e80684e3edaa918f650bcc7e70d0625 /drivers/net/wireless/iwlwifi/iwl-5000.c | |
parent | e932a609e9759cc75db0c234f465a5fd6e20d362 (diff) |
iwlwifi/iwl3945 : unify apm stop operation
Unify the usage of apm_stop_master and apm_stop
across all hardwares.
Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@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/iwl-5000.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 46 |
1 files changed, 3 insertions, 43 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index 624853503db1..d8dadbf04138 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -72,26 +72,6 @@ static const u16 iwl5000_default_queue_to_tx_fifo[] = { | |||
72 | IWL_TX_FIFO_HCCA_2 | 72 | IWL_TX_FIFO_HCCA_2 |
73 | }; | 73 | }; |
74 | 74 | ||
75 | /* FIXME: same implementation as 4965 */ | ||
76 | static int iwl5000_apm_stop_master(struct iwl_priv *priv) | ||
77 | { | ||
78 | unsigned long flags; | ||
79 | |||
80 | spin_lock_irqsave(&priv->lock, flags); | ||
81 | |||
82 | /* set stop master bit */ | ||
83 | iwl_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_STOP_MASTER); | ||
84 | |||
85 | iwl_poll_direct_bit(priv, CSR_RESET, | ||
86 | CSR_RESET_REG_FLAG_MASTER_DISABLED, 100); | ||
87 | |||
88 | spin_unlock_irqrestore(&priv->lock, flags); | ||
89 | IWL_DEBUG_INFO(priv, "stop master\n"); | ||
90 | |||
91 | return 0; | ||
92 | } | ||
93 | |||
94 | |||
95 | int iwl5000_apm_init(struct iwl_priv *priv) | 75 | int iwl5000_apm_init(struct iwl_priv *priv) |
96 | { | 76 | { |
97 | int ret = 0; | 77 | int ret = 0; |
@@ -137,31 +117,11 @@ int iwl5000_apm_init(struct iwl_priv *priv) | |||
137 | return ret; | 117 | return ret; |
138 | } | 118 | } |
139 | 119 | ||
140 | /* FIXME: this is identical to 4965 */ | ||
141 | void iwl5000_apm_stop(struct iwl_priv *priv) | ||
142 | { | ||
143 | unsigned long flags; | ||
144 | |||
145 | iwl5000_apm_stop_master(priv); | ||
146 | |||
147 | spin_lock_irqsave(&priv->lock, flags); | ||
148 | |||
149 | iwl_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET); | ||
150 | |||
151 | udelay(10); | ||
152 | |||
153 | /* clear "init complete" move adapter D0A* --> D0U state */ | ||
154 | iwl_clear_bit(priv, CSR_GP_CNTRL, CSR_GP_CNTRL_REG_FLAG_INIT_DONE); | ||
155 | |||
156 | spin_unlock_irqrestore(&priv->lock, flags); | ||
157 | } | ||
158 | |||
159 | |||
160 | int iwl5000_apm_reset(struct iwl_priv *priv) | 120 | int iwl5000_apm_reset(struct iwl_priv *priv) |
161 | { | 121 | { |
162 | int ret = 0; | 122 | int ret = 0; |
163 | 123 | ||
164 | iwl5000_apm_stop_master(priv); | 124 | iwl_apm_stop_master(priv); |
165 | 125 | ||
166 | iwl_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET); | 126 | iwl_set_bit(priv, CSR_RESET, CSR_RESET_REG_FLAG_SW_RESET); |
167 | 127 | ||
@@ -1561,7 +1521,7 @@ struct iwl_lib_ops iwl5000_lib = { | |||
1561 | .apm_ops = { | 1521 | .apm_ops = { |
1562 | .init = iwl5000_apm_init, | 1522 | .init = iwl5000_apm_init, |
1563 | .reset = iwl5000_apm_reset, | 1523 | .reset = iwl5000_apm_reset, |
1564 | .stop = iwl5000_apm_stop, | 1524 | .stop = iwl_apm_stop, |
1565 | .config = iwl5000_nic_config, | 1525 | .config = iwl5000_nic_config, |
1566 | .set_pwr_src = iwl_set_pwr_src, | 1526 | .set_pwr_src = iwl_set_pwr_src, |
1567 | }, | 1527 | }, |
@@ -1613,7 +1573,7 @@ static struct iwl_lib_ops iwl5150_lib = { | |||
1613 | .apm_ops = { | 1573 | .apm_ops = { |
1614 | .init = iwl5000_apm_init, | 1574 | .init = iwl5000_apm_init, |
1615 | .reset = iwl5000_apm_reset, | 1575 | .reset = iwl5000_apm_reset, |
1616 | .stop = iwl5000_apm_stop, | 1576 | .stop = iwl_apm_stop, |
1617 | .config = iwl5000_nic_config, | 1577 | .config = iwl5000_nic_config, |
1618 | .set_pwr_src = iwl_set_pwr_src, | 1578 | .set_pwr_src = iwl_set_pwr_src, |
1619 | }, | 1579 | }, |