aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2010-12-08 10:51:50 -0500
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2010-12-13 18:53:54 -0500
commit65af8dea26aa89ae4a810bdaa05545a8e670b636 (patch)
tree48684a81f4b877f9ddf8cab0c5c284b61ba08b3f /drivers/net/wireless/iwlwifi
parentf21dd005df95e0fc6a578342c61b5333ce2abc2b (diff)
iwlagn: code clean up to remove duplicate code
Multiple devices use almost the same .cfg with minor differences. Use macro and remove the duplication. By doing this, reduce the chance for mistake while modify .cfg parameters Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-1000.c65
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-5000.c89
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-6000.c319
3 files changed, 151 insertions, 322 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-1000.c b/drivers/net/wireless/iwlwifi/iwl-1000.c
index 94521d4417a2..ba78bc8a259f 100644
--- a/drivers/net/wireless/iwlwifi/iwl-1000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-1000.c
@@ -276,60 +276,49 @@ static struct iwl_ht_params iwl1000_ht_params = {
276 .use_rts_for_aggregation = true, /* use rts/cts protection */ 276 .use_rts_for_aggregation = true, /* use rts/cts protection */
277}; 277};
278 278
279#define IWL_DEVICE_1000 \
280 .fw_name_pre = IWL1000_FW_PRE, \
281 .ucode_api_max = IWL1000_UCODE_API_MAX, \
282 .ucode_api_min = IWL1000_UCODE_API_MIN, \
283 .eeprom_ver = EEPROM_1000_EEPROM_VERSION, \
284 .eeprom_calib_ver = EEPROM_1000_TX_POWER_VERSION, \
285 .ops = &iwl1000_ops, \
286 .mod_params = &iwlagn_mod_params, \
287 .base_params = &iwl1000_base_params, \
288 .led_mode = IWL_LED_BLINK
289
279struct iwl_cfg iwl1000_bgn_cfg = { 290struct iwl_cfg iwl1000_bgn_cfg = {
280 .name = "Intel(R) Centrino(R) Wireless-N 1000 BGN", 291 .name = "Intel(R) Centrino(R) Wireless-N 1000 BGN",
281 .fw_name_pre = IWL1000_FW_PRE, 292 IWL_DEVICE_1000,
282 .ucode_api_max = IWL1000_UCODE_API_MAX,
283 .ucode_api_min = IWL1000_UCODE_API_MIN,
284 .eeprom_ver = EEPROM_1000_EEPROM_VERSION,
285 .eeprom_calib_ver = EEPROM_1000_TX_POWER_VERSION,
286 .ops = &iwl1000_ops,
287 .mod_params = &iwlagn_mod_params,
288 .base_params = &iwl1000_base_params,
289 .ht_params = &iwl1000_ht_params, 293 .ht_params = &iwl1000_ht_params,
290 .led_mode = IWL_LED_BLINK,
291}; 294};
292 295
293struct iwl_cfg iwl1000_bg_cfg = { 296struct iwl_cfg iwl1000_bg_cfg = {
294 .name = "Intel(R) Centrino(R) Wireless-N 1000 BG", 297 .name = "Intel(R) Centrino(R) Wireless-N 1000 BG",
295 .fw_name_pre = IWL1000_FW_PRE, 298 IWL_DEVICE_1000,
296 .ucode_api_max = IWL1000_UCODE_API_MAX,
297 .ucode_api_min = IWL1000_UCODE_API_MIN,
298 .eeprom_ver = EEPROM_1000_EEPROM_VERSION,
299 .eeprom_calib_ver = EEPROM_1000_TX_POWER_VERSION,
300 .ops = &iwl1000_ops,
301 .mod_params = &iwlagn_mod_params,
302 .base_params = &iwl1000_base_params,
303 .led_mode = IWL_LED_BLINK,
304}; 299};
305 300
301#define IWL_DEVICE_100 \
302 .fw_name_pre = IWL100_FW_PRE, \
303 .ucode_api_max = IWL100_UCODE_API_MAX, \
304 .ucode_api_min = IWL100_UCODE_API_MIN, \
305 .eeprom_ver = EEPROM_1000_EEPROM_VERSION, \
306 .eeprom_calib_ver = EEPROM_1000_TX_POWER_VERSION, \
307 .ops = &iwl1000_ops, \
308 .mod_params = &iwlagn_mod_params, \
309 .base_params = &iwl1000_base_params, \
310 .led_mode = IWL_LED_RF_STATE, \
311 .rx_with_siso_diversity = true
312
306struct iwl_cfg iwl100_bgn_cfg = { 313struct iwl_cfg iwl100_bgn_cfg = {
307 .name = "Intel(R) Centrino(R) Wireless-N 100 BGN", 314 .name = "Intel(R) Centrino(R) Wireless-N 100 BGN",
308 .fw_name_pre = IWL100_FW_PRE, 315 IWL_DEVICE_100,
309 .ucode_api_max = IWL100_UCODE_API_MAX,
310 .ucode_api_min = IWL100_UCODE_API_MIN,
311 .eeprom_ver = EEPROM_1000_EEPROM_VERSION,
312 .eeprom_calib_ver = EEPROM_1000_TX_POWER_VERSION,
313 .ops = &iwl1000_ops,
314 .mod_params = &iwlagn_mod_params,
315 .base_params = &iwl1000_base_params,
316 .ht_params = &iwl1000_ht_params, 316 .ht_params = &iwl1000_ht_params,
317 .led_mode = IWL_LED_RF_STATE,
318 .rx_with_siso_diversity = true,
319}; 317};
320 318
321struct iwl_cfg iwl100_bg_cfg = { 319struct iwl_cfg iwl100_bg_cfg = {
322 .name = "Intel(R) Centrino(R) Wireless-N 100 BG", 320 .name = "Intel(R) Centrino(R) Wireless-N 100 BG",
323 .fw_name_pre = IWL100_FW_PRE, 321 IWL_DEVICE_100,
324 .ucode_api_max = IWL100_UCODE_API_MAX,
325 .ucode_api_min = IWL100_UCODE_API_MIN,
326 .eeprom_ver = EEPROM_1000_EEPROM_VERSION,
327 .eeprom_calib_ver = EEPROM_1000_TX_POWER_VERSION,
328 .ops = &iwl1000_ops,
329 .mod_params = &iwlagn_mod_params,
330 .base_params = &iwl1000_base_params,
331 .led_mode = IWL_LED_RF_STATE,
332 .rx_with_siso_diversity = true,
333}; 322};
334 323
335MODULE_FIRMWARE(IWL1000_MODULE_FIRMWARE(IWL1000_UCODE_API_MAX)); 324MODULE_FIRMWARE(IWL1000_MODULE_FIRMWARE(IWL1000_UCODE_API_MAX));
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c
index 34af9e0cfa43..79ab0a6b1386 100644
--- a/drivers/net/wireless/iwlwifi/iwl-5000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-5000.c
@@ -520,65 +520,44 @@ static struct iwl_ht_params iwl5000_ht_params = {
520 .use_rts_for_aggregation = true, /* use rts/cts protection */ 520 .use_rts_for_aggregation = true, /* use rts/cts protection */
521}; 521};
522 522
523#define IWL_DEVICE_5000 \
524 .fw_name_pre = IWL5000_FW_PRE, \
525 .ucode_api_max = IWL5000_UCODE_API_MAX, \
526 .ucode_api_min = IWL5000_UCODE_API_MIN, \
527 .eeprom_ver = EEPROM_5000_EEPROM_VERSION, \
528 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION, \
529 .ops = &iwl5000_ops, \
530 .mod_params = &iwlagn_mod_params, \
531 .base_params = &iwl5000_base_params, \
532 .led_mode = IWL_LED_BLINK
533
523struct iwl_cfg iwl5300_agn_cfg = { 534struct iwl_cfg iwl5300_agn_cfg = {
524 .name = "Intel(R) Ultimate N WiFi Link 5300 AGN", 535 .name = "Intel(R) Ultimate N WiFi Link 5300 AGN",
525 .fw_name_pre = IWL5000_FW_PRE, 536 IWL_DEVICE_5000,
526 .ucode_api_max = IWL5000_UCODE_API_MAX,
527 .ucode_api_min = IWL5000_UCODE_API_MIN,
528 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
529 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
530 .ops = &iwl5000_ops,
531 .mod_params = &iwlagn_mod_params,
532 .base_params = &iwl5000_base_params,
533 .ht_params = &iwl5000_ht_params, 537 .ht_params = &iwl5000_ht_params,
534 .led_mode = IWL_LED_BLINK,
535}; 538};
536 539
537struct iwl_cfg iwl5100_bgn_cfg = { 540struct iwl_cfg iwl5100_bgn_cfg = {
538 .name = "Intel(R) WiFi Link 5100 BGN", 541 .name = "Intel(R) WiFi Link 5100 BGN",
539 .fw_name_pre = IWL5000_FW_PRE, 542 IWL_DEVICE_5000,
540 .ucode_api_max = IWL5000_UCODE_API_MAX,
541 .ucode_api_min = IWL5000_UCODE_API_MIN,
542 .valid_tx_ant = ANT_B, /* .cfg overwrite */ 543 .valid_tx_ant = ANT_B, /* .cfg overwrite */
543 .valid_rx_ant = ANT_AB, /* .cfg overwrite */ 544 .valid_rx_ant = ANT_AB, /* .cfg overwrite */
544 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
545 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
546 .ops = &iwl5000_ops,
547 .mod_params = &iwlagn_mod_params,
548 .base_params = &iwl5000_base_params,
549 .ht_params = &iwl5000_ht_params, 545 .ht_params = &iwl5000_ht_params,
550 .led_mode = IWL_LED_BLINK,
551}; 546};
552 547
553struct iwl_cfg iwl5100_abg_cfg = { 548struct iwl_cfg iwl5100_abg_cfg = {
554 .name = "Intel(R) WiFi Link 5100 ABG", 549 .name = "Intel(R) WiFi Link 5100 ABG",
555 .fw_name_pre = IWL5000_FW_PRE, 550 IWL_DEVICE_5000,
556 .ucode_api_max = IWL5000_UCODE_API_MAX,
557 .ucode_api_min = IWL5000_UCODE_API_MIN,
558 .valid_tx_ant = ANT_B, /* .cfg overwrite */ 551 .valid_tx_ant = ANT_B, /* .cfg overwrite */
559 .valid_rx_ant = ANT_AB, /* .cfg overwrite */ 552 .valid_rx_ant = ANT_AB, /* .cfg overwrite */
560 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
561 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
562 .ops = &iwl5000_ops,
563 .mod_params = &iwlagn_mod_params,
564 .base_params = &iwl5000_base_params,
565 .led_mode = IWL_LED_BLINK,
566}; 553};
567 554
568struct iwl_cfg iwl5100_agn_cfg = { 555struct iwl_cfg iwl5100_agn_cfg = {
569 .name = "Intel(R) WiFi Link 5100 AGN", 556 .name = "Intel(R) WiFi Link 5100 AGN",
570 .fw_name_pre = IWL5000_FW_PRE, 557 IWL_DEVICE_5000,
571 .ucode_api_max = IWL5000_UCODE_API_MAX,
572 .ucode_api_min = IWL5000_UCODE_API_MIN,
573 .valid_tx_ant = ANT_B, /* .cfg overwrite */ 558 .valid_tx_ant = ANT_B, /* .cfg overwrite */
574 .valid_rx_ant = ANT_AB, /* .cfg overwrite */ 559 .valid_rx_ant = ANT_AB, /* .cfg overwrite */
575 .eeprom_ver = EEPROM_5000_EEPROM_VERSION,
576 .eeprom_calib_ver = EEPROM_5000_TX_POWER_VERSION,
577 .ops = &iwl5000_ops,
578 .mod_params = &iwlagn_mod_params,
579 .base_params = &iwl5000_base_params,
580 .ht_params = &iwl5000_ht_params, 560 .ht_params = &iwl5000_ht_params,
581 .led_mode = IWL_LED_BLINK,
582}; 561};
583 562
584struct iwl_cfg iwl5350_agn_cfg = { 563struct iwl_cfg iwl5350_agn_cfg = {
@@ -596,35 +575,29 @@ struct iwl_cfg iwl5350_agn_cfg = {
596 .internal_wimax_coex = true, 575 .internal_wimax_coex = true,
597}; 576};
598 577
578#define IWL_DEVICE_5150 \
579 .fw_name_pre = IWL5150_FW_PRE, \
580 .ucode_api_max = IWL5150_UCODE_API_MAX, \
581 .ucode_api_min = IWL5150_UCODE_API_MIN, \
582 .eeprom_ver = EEPROM_5050_EEPROM_VERSION, \
583 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION, \
584 .ops = &iwl5150_ops, \
585 .mod_params = &iwlagn_mod_params, \
586 .base_params = &iwl5000_base_params, \
587 .need_dc_calib = true, \
588 .led_mode = IWL_LED_BLINK, \
589 .internal_wimax_coex = true
590
599struct iwl_cfg iwl5150_agn_cfg = { 591struct iwl_cfg iwl5150_agn_cfg = {
600 .name = "Intel(R) WiMAX/WiFi Link 5150 AGN", 592 .name = "Intel(R) WiMAX/WiFi Link 5150 AGN",
601 .fw_name_pre = IWL5150_FW_PRE, 593 IWL_DEVICE_5150,
602 .ucode_api_max = IWL5150_UCODE_API_MAX,
603 .ucode_api_min = IWL5150_UCODE_API_MIN,
604 .eeprom_ver = EEPROM_5050_EEPROM_VERSION,
605 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION,
606 .ops = &iwl5150_ops,
607 .mod_params = &iwlagn_mod_params,
608 .base_params = &iwl5000_base_params,
609 .ht_params = &iwl5000_ht_params, 594 .ht_params = &iwl5000_ht_params,
610 .need_dc_calib = true, 595
611 .led_mode = IWL_LED_BLINK,
612 .internal_wimax_coex = true,
613}; 596};
614 597
615struct iwl_cfg iwl5150_abg_cfg = { 598struct iwl_cfg iwl5150_abg_cfg = {
616 .name = "Intel(R) WiMAX/WiFi Link 5150 ABG", 599 .name = "Intel(R) WiMAX/WiFi Link 5150 ABG",
617 .fw_name_pre = IWL5150_FW_PRE, 600 IWL_DEVICE_5150,
618 .ucode_api_max = IWL5150_UCODE_API_MAX,
619 .ucode_api_min = IWL5150_UCODE_API_MIN,
620 .eeprom_ver = EEPROM_5050_EEPROM_VERSION,
621 .eeprom_calib_ver = EEPROM_5050_TX_POWER_VERSION,
622 .ops = &iwl5150_ops,
623 .mod_params = &iwlagn_mod_params,
624 .base_params = &iwl5000_base_params,
625 .need_dc_calib = true,
626 .led_mode = IWL_LED_BLINK,
627 .internal_wimax_coex = true,
628}; 601};
629 602
630MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX)); 603MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX));
diff --git a/drivers/net/wireless/iwlwifi/iwl-6000.c b/drivers/net/wireless/iwlwifi/iwl-6000.c
index fe5f6d0a6539..f4bec3201ef9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-6000.c
+++ b/drivers/net/wireless/iwlwifi/iwl-6000.c
@@ -554,235 +554,156 @@ static struct iwl_bt_params iwl6000_bt_params = {
554 .bt_sco_disable = true, 554 .bt_sco_disable = true,
555}; 555};
556 556
557#define IWL_DEVICE_6005 \
558 .fw_name_pre = IWL6000G2A_FW_PRE, \
559 .ucode_api_max = IWL6000G2_UCODE_API_MAX, \
560 .ucode_api_min = IWL6000G2_UCODE_API_MIN, \
561 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, \
562 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, \
563 .ops = &iwl6000_ops, \
564 .mod_params = &iwlagn_mod_params, \
565 .base_params = &iwl6000_g2_base_params, \
566 .need_dc_calib = true, \
567 .need_temp_offset_calib = true, \
568 .led_mode = IWL_LED_RF_STATE
569
557struct iwl_cfg iwl6005_2agn_cfg = { 570struct iwl_cfg iwl6005_2agn_cfg = {
558 .name = "Intel(R) Centrino(R) Advanced-N 6205 AGN", 571 .name = "Intel(R) Centrino(R) Advanced-N 6205 AGN",
559 .fw_name_pre = IWL6000G2A_FW_PRE, 572 IWL_DEVICE_6005,
560 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
561 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
562 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
563 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
564 .ops = &iwl6000_ops,
565 .mod_params = &iwlagn_mod_params,
566 .base_params = &iwl6000_g2_base_params,
567 .ht_params = &iwl6000_ht_params, 573 .ht_params = &iwl6000_ht_params,
568 .need_dc_calib = true,
569 .need_temp_offset_calib = true,
570 .led_mode = IWL_LED_RF_STATE,
571}; 574};
572 575
573struct iwl_cfg iwl6005_2abg_cfg = { 576struct iwl_cfg iwl6005_2abg_cfg = {
574 .name = "Intel(R) Centrino(R) Advanced-N 6205 ABG", 577 .name = "Intel(R) Centrino(R) Advanced-N 6205 ABG",
575 .fw_name_pre = IWL6000G2A_FW_PRE, 578 IWL_DEVICE_6005,
576 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
577 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
578 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
579 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
580 .ops = &iwl6000_ops,
581 .mod_params = &iwlagn_mod_params,
582 .base_params = &iwl6000_g2_base_params,
583 .need_dc_calib = true,
584 .need_temp_offset_calib = true,
585 .led_mode = IWL_LED_RF_STATE,
586}; 579};
587 580
588struct iwl_cfg iwl6005_2bg_cfg = { 581struct iwl_cfg iwl6005_2bg_cfg = {
589 .name = "Intel(R) Centrino(R) Advanced-N 6205 BG", 582 .name = "Intel(R) Centrino(R) Advanced-N 6205 BG",
590 .fw_name_pre = IWL6000G2A_FW_PRE, 583 IWL_DEVICE_6005,
591 .ucode_api_max = IWL6000G2_UCODE_API_MAX, 584};
592 .ucode_api_min = IWL6000G2_UCODE_API_MIN, 585
593 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, 586#define IWL_DEVICE_6030 \
594 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, 587 .fw_name_pre = IWL6000G2B_FW_PRE, \
595 .ops = &iwl6000_ops, 588 .ucode_api_max = IWL6000G2_UCODE_API_MAX, \
596 .mod_params = &iwlagn_mod_params, 589 .ucode_api_min = IWL6000G2_UCODE_API_MIN, \
597 .base_params = &iwl6000_g2_base_params, 590 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, \
598 .need_dc_calib = true, 591 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, \
599 .need_temp_offset_calib = true, 592 .ops = &iwl6000g2b_ops, \
600 .led_mode = IWL_LED_RF_STATE, 593 .mod_params = &iwlagn_mod_params, \
601}; 594 .base_params = &iwl6000_g2_base_params, \
595 .bt_params = &iwl6000_bt_params, \
596 .need_dc_calib = true, \
597 .need_temp_offset_calib = true, \
598 .led_mode = IWL_LED_RF_STATE, \
599 .adv_pm = true, \
600 /* \
601 *Due to bluetooth, we transmit 2.4 GHz probes \
602 * only on antenna A \
603 */ \
604 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A
602 605
603struct iwl_cfg iwl6030_2agn_cfg = { 606struct iwl_cfg iwl6030_2agn_cfg = {
604 .name = "Intel(R) Centrino(R) Advanced-N 6230 AGN", 607 .name = "Intel(R) Centrino(R) Advanced-N 6230 AGN",
605 .fw_name_pre = IWL6000G2B_FW_PRE, 608 IWL_DEVICE_6030,
606 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
607 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
608 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
609 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
610 .ops = &iwl6000g2b_ops,
611 .mod_params = &iwlagn_mod_params,
612 .base_params = &iwl6000_g2_base_params,
613 .bt_params = &iwl6000_bt_params,
614 .ht_params = &iwl6000_ht_params, 609 .ht_params = &iwl6000_ht_params,
615 .need_dc_calib = true,
616 .need_temp_offset_calib = true,
617 .led_mode = IWL_LED_RF_STATE,
618 .adv_pm = true,
619 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
620 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
621}; 610};
622 611
623struct iwl_cfg iwl6030_2abg_cfg = { 612struct iwl_cfg iwl6030_2abg_cfg = {
624 .name = "Intel(R) Centrino(R) Advanced-N 6230 ABG", 613 .name = "Intel(R) Centrino(R) Advanced-N 6230 ABG",
625 .fw_name_pre = IWL6000G2B_FW_PRE, 614 IWL_DEVICE_6030,
626 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
627 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
628 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
629 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
630 .ops = &iwl6000g2b_ops,
631 .mod_params = &iwlagn_mod_params,
632 .base_params = &iwl6000_g2_base_params,
633 .bt_params = &iwl6000_bt_params,
634 .need_dc_calib = true,
635 .need_temp_offset_calib = true,
636 .led_mode = IWL_LED_RF_STATE,
637 .adv_pm = true,
638 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
639 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
640}; 615};
641 616
642struct iwl_cfg iwl6030_2bgn_cfg = { 617struct iwl_cfg iwl6030_2bgn_cfg = {
643 .name = "Intel(R) Centrino(R) Advanced-N 6230 BGN", 618 .name = "Intel(R) Centrino(R) Advanced-N 6230 BGN",
644 .fw_name_pre = IWL6000G2B_FW_PRE, 619 IWL_DEVICE_6030,
645 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
646 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
647 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
648 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
649 .ops = &iwl6000g2b_ops,
650 .mod_params = &iwlagn_mod_params,
651 .base_params = &iwl6000_g2_base_params,
652 .bt_params = &iwl6000_bt_params,
653 .ht_params = &iwl6000_ht_params, 620 .ht_params = &iwl6000_ht_params,
654 .need_dc_calib = true,
655 .need_temp_offset_calib = true,
656 .led_mode = IWL_LED_RF_STATE,
657 .adv_pm = true,
658 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
659 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
660}; 621};
661 622
662struct iwl_cfg iwl6030_2bg_cfg = { 623struct iwl_cfg iwl6030_2bg_cfg = {
663 .name = "Intel(R) Centrino(R) Advanced-N 6230 BG", 624 .name = "Intel(R) Centrino(R) Advanced-N 6230 BG",
664 .fw_name_pre = IWL6000G2B_FW_PRE, 625 IWL_DEVICE_6030,
665 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
666 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
667 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
668 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
669 .ops = &iwl6000g2b_ops,
670 .mod_params = &iwlagn_mod_params,
671 .base_params = &iwl6000_g2_base_params,
672 .bt_params = &iwl6000_bt_params,
673 .need_dc_calib = true,
674 .need_temp_offset_calib = true,
675 .led_mode = IWL_LED_RF_STATE,
676 .adv_pm = true,
677 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
678 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
679}; 626};
680 627
681struct iwl_cfg iwl1030_bgn_cfg = { 628struct iwl_cfg iwl1030_bgn_cfg = {
682 .name = "Intel(R) Centrino(R) Wireless-N 1030 BGN", 629 .name = "Intel(R) Centrino(R) Wireless-N 1030 BGN",
683 .fw_name_pre = IWL6000G2B_FW_PRE, 630 IWL_DEVICE_6030,
684 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
685 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
686 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
687 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
688 .ops = &iwl6000g2b_ops,
689 .mod_params = &iwlagn_mod_params,
690 .base_params = &iwl6000_g2_base_params,
691 .bt_params = &iwl6000_bt_params,
692 .ht_params = &iwl6000_ht_params, 631 .ht_params = &iwl6000_ht_params,
693 .need_dc_calib = true,
694 .need_temp_offset_calib = true,
695 .led_mode = IWL_LED_RF_STATE,
696 .adv_pm = true,
697 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
698 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
699}; 632};
700 633
701struct iwl_cfg iwl1030_bg_cfg = { 634struct iwl_cfg iwl1030_bg_cfg = {
702 .name = "Intel(R) Centrino(R) Wireless-N 1030 BG", 635 .name = "Intel(R) Centrino(R) Wireless-N 1030 BG",
703 .fw_name_pre = IWL6000G2B_FW_PRE, 636 IWL_DEVICE_6030,
704 .ucode_api_max = IWL6000G2_UCODE_API_MAX, 637};
705 .ucode_api_min = IWL6000G2_UCODE_API_MIN, 638
706 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION, 639struct iwl_cfg iwl130_bgn_cfg = {
707 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION, 640 .name = "Intel(R) Centrino(R) Wireless-N 130 BGN",
708 .ops = &iwl6000g2b_ops, 641 IWL_DEVICE_6030,
709 .mod_params = &iwlagn_mod_params, 642 .ht_params = &iwl6000_ht_params,
710 .base_params = &iwl6000_g2_base_params, 643 .rx_with_siso_diversity = true,
711 .bt_params = &iwl6000_bt_params, 644};
712 .need_dc_calib = true, 645
713 .need_temp_offset_calib = true, 646struct iwl_cfg iwl130_bg_cfg = {
714 .led_mode = IWL_LED_RF_STATE, 647 .name = "Intel(R) Centrino(R) Wireless-N 130 BG",
715 .adv_pm = true, 648 IWL_DEVICE_6030,
716 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ 649 .rx_with_siso_diversity = true,
717 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
718}; 650};
719 651
720/* 652/*
721 * "i": Internal configuration, use internal Power Amplifier 653 * "i": Internal configuration, use internal Power Amplifier
722 */ 654 */
655#define IWL_DEVICE_6000i \
656 .fw_name_pre = IWL6000_FW_PRE, \
657 .ucode_api_max = IWL6000_UCODE_API_MAX, \
658 .ucode_api_min = IWL6000_UCODE_API_MIN, \
659 .valid_tx_ant = ANT_BC, /* .cfg overwrite */ \
660 .valid_rx_ant = ANT_BC, /* .cfg overwrite */ \
661 .eeprom_ver = EEPROM_6000_EEPROM_VERSION, \
662 .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, \
663 .ops = &iwl6000_ops, \
664 .mod_params = &iwlagn_mod_params, \
665 .base_params = &iwl6000_base_params, \
666 .pa_type = IWL_PA_INTERNAL, \
667 .led_mode = IWL_LED_BLINK
668
723struct iwl_cfg iwl6000i_2agn_cfg = { 669struct iwl_cfg iwl6000i_2agn_cfg = {
724 .name = "Intel(R) Centrino(R) Advanced-N 6200 AGN", 670 .name = "Intel(R) Centrino(R) Advanced-N 6200 AGN",
725 .fw_name_pre = IWL6000_FW_PRE, 671 IWL_DEVICE_6000i,
726 .ucode_api_max = IWL6000_UCODE_API_MAX,
727 .ucode_api_min = IWL6000_UCODE_API_MIN,
728 .valid_tx_ant = ANT_BC, /* .cfg overwrite */
729 .valid_rx_ant = ANT_BC, /* .cfg overwrite */
730 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
731 .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION,
732 .ops = &iwl6000_ops,
733 .mod_params = &iwlagn_mod_params,
734 .base_params = &iwl6000_base_params,
735 .ht_params = &iwl6000_ht_params, 672 .ht_params = &iwl6000_ht_params,
736 .pa_type = IWL_PA_INTERNAL,
737 .led_mode = IWL_LED_BLINK,
738}; 673};
739 674
740struct iwl_cfg iwl6000i_2abg_cfg = { 675struct iwl_cfg iwl6000i_2abg_cfg = {
741 .name = "Intel(R) Centrino(R) Advanced-N 6200 ABG", 676 .name = "Intel(R) Centrino(R) Advanced-N 6200 ABG",
742 .fw_name_pre = IWL6000_FW_PRE, 677 IWL_DEVICE_6000i,
743 .ucode_api_max = IWL6000_UCODE_API_MAX,
744 .ucode_api_min = IWL6000_UCODE_API_MIN,
745 .valid_tx_ant = ANT_BC, /* .cfg overwrite */
746 .valid_rx_ant = ANT_BC, /* .cfg overwrite */
747 .eeprom_ver = EEPROM_6000_EEPROM_VERSION,
748 .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION,
749 .ops = &iwl6000_ops,
750 .mod_params = &iwlagn_mod_params,
751 .base_params = &iwl6000_base_params,
752 .pa_type = IWL_PA_INTERNAL,
753 .led_mode = IWL_LED_BLINK,
754}; 678};
755 679
756struct iwl_cfg iwl6000i_2bg_cfg = { 680struct iwl_cfg iwl6000i_2bg_cfg = {
757 .name = "Intel(R) Centrino(R) Advanced-N 6200 BG", 681 .name = "Intel(R) Centrino(R) Advanced-N 6200 BG",
758 .fw_name_pre = IWL6000_FW_PRE, 682 IWL_DEVICE_6000i,
759 .ucode_api_max = IWL6000_UCODE_API_MAX, 683};
760 .ucode_api_min = IWL6000_UCODE_API_MIN, 684
761 .valid_tx_ant = ANT_BC, /* .cfg overwrite */ 685#define IWL_DEVICE_6050 \
762 .valid_rx_ant = ANT_BC, /* .cfg overwrite */ 686 .fw_name_pre = IWL6050_FW_PRE, \
763 .eeprom_ver = EEPROM_6000_EEPROM_VERSION, 687 .ucode_api_max = IWL6050_UCODE_API_MAX, \
764 .eeprom_calib_ver = EEPROM_6000_TX_POWER_VERSION, 688 .ucode_api_min = IWL6050_UCODE_API_MIN, \
765 .ops = &iwl6000_ops, 689 .ops = &iwl6050_ops, \
766 .mod_params = &iwlagn_mod_params, 690 .eeprom_ver = EEPROM_6050_EEPROM_VERSION, \
767 .base_params = &iwl6000_base_params, 691 .eeprom_calib_ver = EEPROM_6050_TX_POWER_VERSION, \
768 .pa_type = IWL_PA_INTERNAL, 692 .mod_params = &iwlagn_mod_params, \
769 .led_mode = IWL_LED_BLINK, 693 .base_params = &iwl6050_base_params, \
770}; 694 .need_dc_calib = true, \
695 .led_mode = IWL_LED_BLINK, \
696 .internal_wimax_coex = true
771 697
772struct iwl_cfg iwl6050_2agn_cfg = { 698struct iwl_cfg iwl6050_2agn_cfg = {
773 .name = "Intel(R) Centrino(R) Advanced-N + WiMAX 6250 AGN", 699 .name = "Intel(R) Centrino(R) Advanced-N + WiMAX 6250 AGN",
774 .fw_name_pre = IWL6050_FW_PRE, 700 IWL_DEVICE_6050,
775 .ucode_api_max = IWL6050_UCODE_API_MAX,
776 .ucode_api_min = IWL6050_UCODE_API_MIN,
777 .ops = &iwl6050_ops,
778 .eeprom_ver = EEPROM_6050_EEPROM_VERSION,
779 .eeprom_calib_ver = EEPROM_6050_TX_POWER_VERSION,
780 .mod_params = &iwlagn_mod_params,
781 .base_params = &iwl6050_base_params,
782 .ht_params = &iwl6000_ht_params, 701 .ht_params = &iwl6000_ht_params,
783 .need_dc_calib = true, 702};
784 .led_mode = IWL_LED_BLINK, 703
785 .internal_wimax_coex = true, 704struct iwl_cfg iwl6050_2abg_cfg = {
705 .name = "Intel(R) Centrino(R) Advanced-N + WiMAX 6250 ABG",
706 IWL_DEVICE_6050,
786}; 707};
787 708
788struct iwl_cfg iwl6150_bgn_cfg = { 709struct iwl_cfg iwl6150_bgn_cfg = {
@@ -801,21 +722,6 @@ struct iwl_cfg iwl6150_bgn_cfg = {
801 .internal_wimax_coex = true, 722 .internal_wimax_coex = true,
802}; 723};
803 724
804struct iwl_cfg iwl6050_2abg_cfg = {
805 .name = "Intel(R) Centrino(R) Advanced-N + WiMAX 6250 ABG",
806 .fw_name_pre = IWL6050_FW_PRE,
807 .ucode_api_max = IWL6050_UCODE_API_MAX,
808 .ucode_api_min = IWL6050_UCODE_API_MIN,
809 .eeprom_ver = EEPROM_6050_EEPROM_VERSION,
810 .eeprom_calib_ver = EEPROM_6050_TX_POWER_VERSION,
811 .ops = &iwl6050_ops,
812 .mod_params = &iwlagn_mod_params,
813 .base_params = &iwl6050_base_params,
814 .need_dc_calib = true,
815 .led_mode = IWL_LED_BLINK,
816 .internal_wimax_coex = true,
817};
818
819struct iwl_cfg iwl6000_3agn_cfg = { 725struct iwl_cfg iwl6000_3agn_cfg = {
820 .name = "Intel(R) Centrino(R) Ultimate-N 6300 AGN", 726 .name = "Intel(R) Centrino(R) Ultimate-N 6300 AGN",
821 .fw_name_pre = IWL6000_FW_PRE, 727 .fw_name_pre = IWL6000_FW_PRE,
@@ -831,45 +737,6 @@ struct iwl_cfg iwl6000_3agn_cfg = {
831 .led_mode = IWL_LED_BLINK, 737 .led_mode = IWL_LED_BLINK,
832}; 738};
833 739
834struct iwl_cfg iwl130_bgn_cfg = {
835 .name = "Intel(R) Centrino(R) Wireless-N 130 BGN",
836 .fw_name_pre = IWL6000G2B_FW_PRE,
837 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
838 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
839 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
840 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
841 .ops = &iwl6000g2b_ops,
842 .mod_params = &iwlagn_mod_params,
843 .base_params = &iwl6000_g2_base_params,
844 .bt_params = &iwl6000_bt_params,
845 .ht_params = &iwl6000_ht_params,
846 .need_dc_calib = true,
847 .led_mode = IWL_LED_RF_STATE,
848 .adv_pm = true,
849 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
850 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
851 .rx_with_siso_diversity = true,
852};
853
854struct iwl_cfg iwl130_bg_cfg = {
855 .name = "Intel(R) Centrino(R) Wireless-N 130 BG",
856 .fw_name_pre = IWL6000G2B_FW_PRE,
857 .ucode_api_max = IWL6000G2_UCODE_API_MAX,
858 .ucode_api_min = IWL6000G2_UCODE_API_MIN,
859 .eeprom_ver = EEPROM_6000G2_EEPROM_VERSION,
860 .eeprom_calib_ver = EEPROM_6000G2_TX_POWER_VERSION,
861 .ops = &iwl6000g2b_ops,
862 .mod_params = &iwlagn_mod_params,
863 .base_params = &iwl6000_g2_base_params,
864 .bt_params = &iwl6000_bt_params,
865 .need_dc_calib = true,
866 .led_mode = IWL_LED_RF_STATE,
867 .adv_pm = true,
868 /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
869 .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
870 .rx_with_siso_diversity = true,
871};
872
873MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX)); 740MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX));
874MODULE_FIRMWARE(IWL6050_MODULE_FIRMWARE(IWL6050_UCODE_API_MAX)); 741MODULE_FIRMWARE(IWL6050_MODULE_FIRMWARE(IWL6050_UCODE_API_MAX));
875MODULE_FIRMWARE(IWL6000G2A_MODULE_FIRMWARE(IWL6000G2_UCODE_API_MAX)); 742MODULE_FIRMWARE(IWL6000G2A_MODULE_FIRMWARE(IWL6000G2_UCODE_API_MAX));