diff options
author | Johannes Berg <johannes.berg@intel.com> | 2023-06-21 13:12:15 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2023-06-21 15:07:01 +0300 |
commit | 3fd31289d5de8392c914db4f8cb36e0999afdac2 (patch) | |
tree | 8df848ee00b829fd2e3063a4cd977d81dc29e263 /drivers/net/wireless/intel/iwlwifi/iwl-config.h | |
parent | e3597e28a2fab5e260dcbfde20c12025ee250b72 (diff) | |
download | linux-3fd31289d5de8392c914db4f8cb36e0999afdac2.tar.xz |
wifi: iwlwifi: unify Bz/Gl device configurations
All the configurations for the various Bz/Gl devices
are basically identical, except for Gl A-step and the
firmware filename prefixes.
Add some infrastructure to auto-generate the firmware
filename prefix based on the detected MAC step and
RF name/step, and remove all the unneeded configs.
This reduces the size of the iwlwifi module by ~9k:
517582 27111 560 545253 851e5 drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
526885 27083 560 554528 87620 drivers/net/wireless/intel/iwlwifi/iwlwifi.ko
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230621130443.1dc121ba338f.I07d651516eb82cbaded4724ef30558a50f2fa866@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/iwl-config.h')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/iwl-config.h | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-config.h b/drivers/net/wireless/intel/iwlwifi/iwl-config.h index a18cbe75646f..47e164beda29 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-config.h +++ b/drivers/net/wireless/intel/iwlwifi/iwl-config.h @@ -310,6 +310,8 @@ struct iwl_fw_mon_regs { * @fw_name_pre: Firmware filename prefix. The api version and extension * (.ucode) will be added to filename before loading from disk. The * filename is constructed as fw_name_pre<api>.ucode. + * @fw_name_mac: MAC name for this config, the remaining pieces of the + * name will be generated dynamically * @ucode_api_max: Highest version of uCode API supported by driver. * @ucode_api_min: Lowest version of uCode API supported by driver. * @max_inst_size: The maximal length of the fw inst section (only DVM) @@ -363,6 +365,7 @@ struct iwl_cfg { /* params specific to an individual device within a device family */ const char *name; const char *fw_name_pre; + const char *fw_name_mac; /* params likely to change within a device family */ const struct iwl_ht_params *ht_params; const struct iwl_eeprom_params *eeprom_params; @@ -643,24 +646,11 @@ extern const struct iwl_cfg iwl_cfg_ma_b0_fm_a0; extern const struct iwl_cfg iwl_cfg_so_a0_hr_a0; extern const struct iwl_cfg iwl_cfg_so_a0_ms_a0; extern const struct iwl_cfg iwl_cfg_quz_a0_hr_b0; -extern const struct iwl_cfg iwl_cfg_bz_a0_hr_a0; -extern const struct iwl_cfg iwl_cfg_bz_a0_hr_b0; -extern const struct iwl_cfg iwl_cfg_bz_a0_gf_a0; -extern const struct iwl_cfg iwl_cfg_bz_a0_gf4_a0; -extern const struct iwl_cfg iwl_cfg_bz_b0_gf_a0; -extern const struct iwl_cfg iwl_cfg_bz_b0_gf4_a0; -extern const struct iwl_cfg iwl_cfg_bz_a0_mr_a0; -extern const struct iwl_cfg iwl_cfg_bz_a0_fm_a0; -extern const struct iwl_cfg iwl_cfg_bz_a0_fm4_a0; -extern const struct iwl_cfg iwl_cfg_bz_a0_fm_b0; -extern const struct iwl_cfg iwl_cfg_bz_a0_fm_c0; -extern const struct iwl_cfg iwl_cfg_bz_a0_fm4_b0; -extern const struct iwl_cfg iwl_cfg_bz_b0_fm_b0; -extern const struct iwl_cfg iwl_cfg_bz_b0_fm4_b0; + +extern const struct iwl_cfg iwl_cfg_bz; extern const struct iwl_cfg iwl_cfg_gl_a0_fm_a0; -extern const struct iwl_cfg iwl_cfg_gl_b0_fm_b0; -extern const struct iwl_cfg iwl_cfg_gl_c0_fm_c0; -extern const struct iwl_cfg iwl_cfg_bz_z0_gf_a0; +extern const struct iwl_cfg iwl_cfg_gl; + extern const struct iwl_cfg iwl_cfg_sc_a0_fm_b0; extern const struct iwl_cfg iwl_cfg_sc_a0_fm_c0; extern const struct iwl_cfg iwl_cfg_sc_a0_hr_a0; |