diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2008-03-04 21:09:31 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-03-07 16:03:00 -0500 |
commit | 4bf775cdc08b8741f78fbf85e3d2e6bebe783d32 (patch) | |
tree | 7773151e345b3a5d5f10e6798abf4a9fbf0d2b44 /drivers/net/wireless/iwlwifi | |
parent | 82b9a1213132aa53ddbcc459ed77a335d031cd2e (diff) |
iwlwifi: Take the fw file name from the iwl_cfg.
This patch adds fw_name to iwl_cfg. This allows run time selection
of needed fw/ucode file
Signed-off-by: Tomas Winkler <tomas.winkler@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')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.h | 6 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.h | 7 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl3945-base.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl4965-base.c | 7 |
6 files changed, 18 insertions, 12 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index b9097643a648..49b781104327 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -2526,11 +2526,13 @@ void iwl3945_hw_cancel_deferred_work(struct iwl3945_priv *priv) | |||
2526 | 2526 | ||
2527 | static struct iwl_3945_cfg iwl3945_bg_cfg = { | 2527 | static struct iwl_3945_cfg iwl3945_bg_cfg = { |
2528 | .name = "3945BG", | 2528 | .name = "3945BG", |
2529 | .fw_name = "iwlwifi-3945" IWL3945_UCODE_API ".ucode", | ||
2529 | .sku = IWL_SKU_G, | 2530 | .sku = IWL_SKU_G, |
2530 | }; | 2531 | }; |
2531 | 2532 | ||
2532 | static struct iwl_3945_cfg iwl3945_abg_cfg = { | 2533 | static struct iwl_3945_cfg iwl3945_abg_cfg = { |
2533 | .name = "3945ABG", | 2534 | .name = "3945ABG", |
2535 | .fw_name = "iwlwifi-3945" IWL3945_UCODE_API ".ucode", | ||
2534 | .sku = IWL_SKU_A|IWL_SKU_G, | 2536 | .sku = IWL_SKU_A|IWL_SKU_G, |
2535 | }; | 2537 | }; |
2536 | 2538 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h index fa89da2db3e1..a238e833251f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.h +++ b/drivers/net/wireless/iwlwifi/iwl-3945.h | |||
@@ -45,6 +45,12 @@ extern struct pci_device_id iwl3945_hw_card_ids[]; | |||
45 | #include "iwl-3945-hw.h" | 45 | #include "iwl-3945-hw.h" |
46 | #include "iwl-3945-debug.h" | 46 | #include "iwl-3945-debug.h" |
47 | 47 | ||
48 | /* Change firmware file name, using "-" and incrementing number, | ||
49 | * *only* when uCode interface or architecture changes so that it | ||
50 | * is not compatible with earlier drivers. | ||
51 | * This number will also appear in << 8 position of 1st dword of uCode file */ | ||
52 | #define IWL3945_UCODE_API "-1" | ||
53 | |||
48 | /* Default noise level to report when noise measurement is not available. | 54 | /* Default noise level to report when noise measurement is not available. |
49 | * This may be because we're: | 55 | * This may be because we're: |
50 | * 1) Not associated (4965, no beacon statistics being sent to driver) | 56 | * 1) Not associated (4965, no beacon statistics being sent to driver) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 8cf1b9ce4dab..3e122a931f2d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -4823,6 +4823,7 @@ void iwl4965_hw_cancel_deferred_work(struct iwl4965_priv *priv) | |||
4823 | 4823 | ||
4824 | static struct iwl_cfg iwl4965_agn_cfg = { | 4824 | static struct iwl_cfg iwl4965_agn_cfg = { |
4825 | .name = "4965AGN", | 4825 | .name = "4965AGN", |
4826 | .fw_name = "iwlwifi-4965" IWL4965_UCODE_API ".ucode", | ||
4826 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, | 4827 | .sku = IWL_SKU_A|IWL_SKU_G|IWL_SKU_N, |
4827 | }; | 4828 | }; |
4828 | 4829 | ||
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.h b/drivers/net/wireless/iwlwifi/iwl-4965.h index 0bfd1b475897..057fa15d62fd 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.h +++ b/drivers/net/wireless/iwlwifi/iwl-4965.h | |||
@@ -45,6 +45,13 @@ extern struct pci_device_id iwl4965_hw_card_ids[]; | |||
45 | #include "iwl-prph.h" | 45 | #include "iwl-prph.h" |
46 | #include "iwl-4965-debug.h" | 46 | #include "iwl-4965-debug.h" |
47 | 47 | ||
48 | /* Change firmware file name, using "-" and incrementing number, | ||
49 | * *only* when uCode interface or architecture changes so that it | ||
50 | * is not compatible with earlier drivers. | ||
51 | * This number will also appear in << 8 position of 1st dword of uCode file */ | ||
52 | #define IWL4965_UCODE_API "-1" | ||
53 | |||
54 | |||
48 | /* Default noise level to report when noise measurement is not available. | 55 | /* Default noise level to report when noise measurement is not available. |
49 | * This may be because we're: | 56 | * This may be because we're: |
50 | * 1) Not associated (4965, no beacon statistics being sent to driver) | 57 | * 1) Not associated (4965, no beacon statistics being sent to driver) |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 0cdc7f84b5af..a130f5d077f0 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -96,11 +96,6 @@ int iwl3945_param_queues_num = IWL_MAX_NUM_QUEUES; /* def: 8 Tx queues */ | |||
96 | #define DRV_COPYRIGHT "Copyright(c) 2003-2007 Intel Corporation" | 96 | #define DRV_COPYRIGHT "Copyright(c) 2003-2007 Intel Corporation" |
97 | #define DRV_VERSION IWLWIFI_VERSION | 97 | #define DRV_VERSION IWLWIFI_VERSION |
98 | 98 | ||
99 | /* Change firmware file name, using "-" and incrementing number, | ||
100 | * *only* when uCode interface or architecture changes so that it | ||
101 | * is not compatible with earlier drivers. | ||
102 | * This number will also appear in << 8 position of 1st dword of uCode file */ | ||
103 | #define IWL3945_UCODE_API "-1" | ||
104 | 99 | ||
105 | MODULE_DESCRIPTION(DRV_DESCRIPTION); | 100 | MODULE_DESCRIPTION(DRV_DESCRIPTION); |
106 | MODULE_VERSION(DRV_VERSION); | 101 | MODULE_VERSION(DRV_VERSION); |
@@ -5621,7 +5616,7 @@ static int iwl3945_read_ucode(struct iwl3945_priv *priv) | |||
5621 | int ret = 0; | 5616 | int ret = 0; |
5622 | const struct firmware *ucode_raw; | 5617 | const struct firmware *ucode_raw; |
5623 | /* firmware file name contains uCode/driver compatibility version */ | 5618 | /* firmware file name contains uCode/driver compatibility version */ |
5624 | const char *name = "iwlwifi-3945" IWL3945_UCODE_API ".ucode"; | 5619 | const char *name = priv->cfg->fw_name; |
5625 | u8 *src; | 5620 | u8 *src; |
5626 | size_t len; | 5621 | size_t len; |
5627 | u32 ver, inst_size, data_size, init_size, init_data_size, boot_size; | 5622 | u32 ver, inst_size, data_size, init_size, init_data_size, boot_size; |
diff --git a/drivers/net/wireless/iwlwifi/iwl4965-base.c b/drivers/net/wireless/iwlwifi/iwl4965-base.c index af97e0bdf483..d362c4c82db2 100644 --- a/drivers/net/wireless/iwlwifi/iwl4965-base.c +++ b/drivers/net/wireless/iwlwifi/iwl4965-base.c | |||
@@ -95,11 +95,6 @@ int iwl4965_param_amsdu_size_8K; /* def: enable 8K amsdu size */ | |||
95 | #define DRV_COPYRIGHT "Copyright(c) 2003-2007 Intel Corporation" | 95 | #define DRV_COPYRIGHT "Copyright(c) 2003-2007 Intel Corporation" |
96 | #define DRV_VERSION IWLWIFI_VERSION | 96 | #define DRV_VERSION IWLWIFI_VERSION |
97 | 97 | ||
98 | /* Change firmware file name, using "-" and incrementing number, | ||
99 | * *only* when uCode interface or architecture changes so that it | ||
100 | * is not compatible with earlier drivers. | ||
101 | * This number will also appear in << 8 position of 1st dword of uCode file */ | ||
102 | #define IWL4965_UCODE_API "-1" | ||
103 | 98 | ||
104 | MODULE_DESCRIPTION(DRV_DESCRIPTION); | 99 | MODULE_DESCRIPTION(DRV_DESCRIPTION); |
105 | MODULE_VERSION(DRV_VERSION); | 100 | MODULE_VERSION(DRV_VERSION); |
@@ -6019,7 +6014,7 @@ static int iwl4965_read_ucode(struct iwl4965_priv *priv) | |||
6019 | struct iwl4965_ucode *ucode; | 6014 | struct iwl4965_ucode *ucode; |
6020 | int ret; | 6015 | int ret; |
6021 | const struct firmware *ucode_raw; | 6016 | const struct firmware *ucode_raw; |
6022 | const char *name = "iwlwifi-4965" IWL4965_UCODE_API ".ucode"; | 6017 | const char *name = priv->cfg->fw_name; |
6023 | u8 *src; | 6018 | u8 *src; |
6024 | size_t len; | 6019 | size_t len; |
6025 | u32 ver, inst_size, data_size, init_size, init_data_size, boot_size; | 6020 | u32 ver, inst_size, data_size, init_size, init_data_size, boot_size; |