aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-2000.c
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2011-07-22 17:51:16 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-07-22 17:51:16 -0400
commit41bf37117b47fc5ce2aae91f6a108e7e42e0b046 (patch)
treed5c8f24075313edfe548256dd931527f1569921e /drivers/net/wireless/iwlwifi/iwl-2000.c
parent415b3334a21aa67806c52d1acf4e72e14f7f402f (diff)
parent6e6e8c510a84fe3237ef02b954e58cca6a3f4b1a (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-2000.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-2000.c46
1 files changed, 12 insertions, 34 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-2000.c b/drivers/net/wireless/iwlwifi/iwl-2000.c
index 32ac8654b79a..0e13f0bb2e17 100644
--- a/drivers/net/wireless/iwlwifi/iwl-2000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-2000.c
@@ -85,9 +85,6 @@ static void iwl2000_nic_config(struct iwl_priv *priv)
85 if (priv->cfg->iq_invert) 85 if (priv->cfg->iq_invert)
86 iwl_set_bit(priv, CSR_GP_DRIVER_REG, 86 iwl_set_bit(priv, CSR_GP_DRIVER_REG,
87 CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER); 87 CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER);
88
89 if (priv->cfg->disable_otp_refresh)
90 iwl_write_prph(priv, APMG_ANALOG_SVR_REG, 0x80000010);
91} 88}
92 89
93static struct iwl_sensitivity_ranges iwl2000_sensitivity = { 90static struct iwl_sensitivity_ranges iwl2000_sensitivity = {
@@ -156,7 +153,7 @@ static int iwl2000_hw_set_hw_params(struct iwl_priv *priv)
156 BIT(IWL_CALIB_TX_IQ) | 153 BIT(IWL_CALIB_TX_IQ) |
157 BIT(IWL_CALIB_BASE_BAND); 154 BIT(IWL_CALIB_BASE_BAND);
158 if (priv->cfg->need_dc_calib) 155 if (priv->cfg->need_dc_calib)
159 priv->hw_params.calib_rt_cfg |= BIT(IWL_CALIB_CFG_DC_IDX); 156 priv->hw_params.calib_rt_cfg |= IWL_CALIB_CFG_DC_IDX;
160 if (priv->cfg->need_temp_offset_calib) 157 if (priv->cfg->need_temp_offset_calib)
161 priv->hw_params.calib_init_cfg |= BIT(IWL_CALIB_TEMP_OFFSET); 158 priv->hw_params.calib_init_cfg |= BIT(IWL_CALIB_TEMP_OFFSET);
162 159
@@ -167,9 +164,6 @@ static int iwl2000_hw_set_hw_params(struct iwl_priv *priv)
167 164
168static struct iwl_lib_ops iwl2000_lib = { 165static struct iwl_lib_ops iwl2000_lib = {
169 .set_hw_params = iwl2000_hw_set_hw_params, 166 .set_hw_params = iwl2000_hw_set_hw_params,
170 .rx_handler_setup = iwlagn_rx_handler_setup,
171 .setup_deferred_work = iwlagn_setup_deferred_work,
172 .is_valid_rtc_data_addr = iwlagn_hw_valid_rtc_data_addr,
173 .nic_config = iwl2000_nic_config, 167 .nic_config = iwl2000_nic_config,
174 .eeprom_ops = { 168 .eeprom_ops = {
175 .regulatory_bands = { 169 .regulatory_bands = {
@@ -188,10 +182,9 @@ static struct iwl_lib_ops iwl2000_lib = {
188 182
189static struct iwl_lib_ops iwl2030_lib = { 183static struct iwl_lib_ops iwl2030_lib = {
190 .set_hw_params = iwl2000_hw_set_hw_params, 184 .set_hw_params = iwl2000_hw_set_hw_params,
191 .rx_handler_setup = iwlagn_bt_rx_handler_setup, 185 .bt_rx_handler_setup = iwlagn_bt_rx_handler_setup,
192 .setup_deferred_work = iwlagn_bt_setup_deferred_work, 186 .bt_setup_deferred_work = iwlagn_bt_setup_deferred_work,
193 .cancel_deferred_work = iwlagn_bt_cancel_deferred_work, 187 .cancel_deferred_work = iwlagn_bt_cancel_deferred_work,
194 .is_valid_rtc_data_addr = iwlagn_hw_valid_rtc_data_addr,
195 .nic_config = iwl2000_nic_config, 188 .nic_config = iwl2000_nic_config,
196 .eeprom_ops = { 189 .eeprom_ops = {
197 .regulatory_bands = { 190 .regulatory_bands = {
@@ -208,22 +201,6 @@ static struct iwl_lib_ops iwl2030_lib = {
208 .temperature = iwlagn_temperature, 201 .temperature = iwlagn_temperature,
209}; 202};
210 203
211static const struct iwl_ops iwl2000_ops = {
212 .lib = &iwl2000_lib,
213};
214
215static const struct iwl_ops iwl2030_ops = {
216 .lib = &iwl2030_lib,
217};
218
219static const struct iwl_ops iwl105_ops = {
220 .lib = &iwl2000_lib,
221};
222
223static const struct iwl_ops iwl135_ops = {
224 .lib = &iwl2030_lib,
225};
226
227static struct iwl_base_params iwl2000_base_params = { 204static struct iwl_base_params iwl2000_base_params = {
228 .eeprom_size = OTP_LOW_IMAGE_SIZE, 205 .eeprom_size = OTP_LOW_IMAGE_SIZE,
229 .num_of_queues = IWLAGN_NUM_QUEUES, 206 .num_of_queues = IWLAGN_NUM_QUEUES,
@@ -282,13 +259,12 @@ static struct iwl_bt_params iwl2030_bt_params = {
282 .ucode_api_min = IWL2000_UCODE_API_MIN, \ 259 .ucode_api_min = IWL2000_UCODE_API_MIN, \
283 .eeprom_ver = EEPROM_2000_EEPROM_VERSION, \ 260 .eeprom_ver = EEPROM_2000_EEPROM_VERSION, \
284 .eeprom_calib_ver = EEPROM_2000_TX_POWER_VERSION, \ 261 .eeprom_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
285 .ops = &iwl2000_ops, \ 262 .lib = &iwl2000_lib, \
286 .base_params = &iwl2000_base_params, \ 263 .base_params = &iwl2000_base_params, \
287 .need_dc_calib = true, \ 264 .need_dc_calib = true, \
288 .need_temp_offset_calib = true, \ 265 .need_temp_offset_calib = true, \
289 .led_mode = IWL_LED_RF_STATE, \ 266 .led_mode = IWL_LED_RF_STATE, \
290 .iq_invert = true, \ 267 .iq_invert = true \
291 .disable_otp_refresh = true \
292 268
293struct iwl_cfg iwl2000_2bgn_cfg = { 269struct iwl_cfg iwl2000_2bgn_cfg = {
294 .name = "2000 Series 2x2 BGN", 270 .name = "2000 Series 2x2 BGN",
@@ -307,7 +283,7 @@ struct iwl_cfg iwl2000_2bg_cfg = {
307 .ucode_api_min = IWL2030_UCODE_API_MIN, \ 283 .ucode_api_min = IWL2030_UCODE_API_MIN, \
308 .eeprom_ver = EEPROM_2000_EEPROM_VERSION, \ 284 .eeprom_ver = EEPROM_2000_EEPROM_VERSION, \
309 .eeprom_calib_ver = EEPROM_2000_TX_POWER_VERSION, \ 285 .eeprom_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
310 .ops = &iwl2030_ops, \ 286 .lib = &iwl2030_lib, \
311 .base_params = &iwl2030_base_params, \ 287 .base_params = &iwl2030_base_params, \
312 .bt_params = &iwl2030_bt_params, \ 288 .bt_params = &iwl2030_bt_params, \
313 .need_dc_calib = true, \ 289 .need_dc_calib = true, \
@@ -333,13 +309,14 @@ struct iwl_cfg iwl2030_2bg_cfg = {
333 .ucode_api_min = IWL105_UCODE_API_MIN, \ 309 .ucode_api_min = IWL105_UCODE_API_MIN, \
334 .eeprom_ver = EEPROM_2000_EEPROM_VERSION, \ 310 .eeprom_ver = EEPROM_2000_EEPROM_VERSION, \
335 .eeprom_calib_ver = EEPROM_2000_TX_POWER_VERSION, \ 311 .eeprom_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
336 .ops = &iwl105_ops, \ 312 .lib = &iwl2000_lib, \
337 .base_params = &iwl2000_base_params, \ 313 .base_params = &iwl2000_base_params, \
338 .need_dc_calib = true, \ 314 .need_dc_calib = true, \
339 .need_temp_offset_calib = true, \ 315 .need_temp_offset_calib = true, \
340 .led_mode = IWL_LED_RF_STATE, \ 316 .led_mode = IWL_LED_RF_STATE, \
341 .adv_pm = true, \ 317 .adv_pm = true, \
342 .rx_with_siso_diversity = true \ 318 .rx_with_siso_diversity = true, \
319 .iq_invert = true \
343 320
344struct iwl_cfg iwl105_bg_cfg = { 321struct iwl_cfg iwl105_bg_cfg = {
345 .name = "105 Series 1x1 BG", 322 .name = "105 Series 1x1 BG",
@@ -358,14 +335,15 @@ struct iwl_cfg iwl105_bgn_cfg = {
358 .ucode_api_min = IWL135_UCODE_API_MIN, \ 335 .ucode_api_min = IWL135_UCODE_API_MIN, \
359 .eeprom_ver = EEPROM_2000_EEPROM_VERSION, \ 336 .eeprom_ver = EEPROM_2000_EEPROM_VERSION, \
360 .eeprom_calib_ver = EEPROM_2000_TX_POWER_VERSION, \ 337 .eeprom_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
361 .ops = &iwl135_ops, \ 338 .lib = &iwl2030_lib, \
362 .base_params = &iwl2030_base_params, \ 339 .base_params = &iwl2030_base_params, \
363 .bt_params = &iwl2030_bt_params, \ 340 .bt_params = &iwl2030_bt_params, \
364 .need_dc_calib = true, \ 341 .need_dc_calib = true, \
365 .need_temp_offset_calib = true, \ 342 .need_temp_offset_calib = true, \
366 .led_mode = IWL_LED_RF_STATE, \ 343 .led_mode = IWL_LED_RF_STATE, \
367 .adv_pm = true, \ 344 .adv_pm = true, \
368 .rx_with_siso_diversity = true \ 345 .rx_with_siso_diversity = true, \
346 .iq_invert = true \
369 347
370struct iwl_cfg iwl135_bg_cfg = { 348struct iwl_cfg iwl135_bg_cfg = {
371 .name = "135 Series 1x1 BG/BT", 349 .name = "135 Series 1x1 BG/BT",