22/******************************************************************************
33 *
44 * Copyright(c) 2008 - 2014 Intel Corporation. All rights reserved.
5- * Copyright(c) 2018 - 2020, 2023 Intel Corporation
5+ * Copyright(c) 2018 - 2020, 2023, 2025 Intel Corporation
66 *****************************************************************************/
77
88#include <linux/module.h>
4040#define IWL135_FW_PRE "iwlwifi-135"
4141#define IWL135_MODULE_FIRMWARE (api ) IWL135_FW_PRE "-" __stringify(api) ".ucode"
4242
43- static const struct iwl_base_params iwl2000_base_params = {
43+ static const struct iwl_family_base_params iwl2000_base = {
4444 .eeprom_size = OTP_LOW_IMAGE_SIZE_2K ,
4545 .num_of_queues = IWLAGN_NUM_QUEUES ,
4646 .max_tfd_queue_size = 256 ,
@@ -54,7 +54,7 @@ static const struct iwl_base_params iwl2000_base_params = {
5454};
5555
5656
57- static const struct iwl_base_params iwl2030_base_params = {
57+ static const struct iwl_family_base_params iwl2030_base = {
5858 .eeprom_size = OTP_LOW_IMAGE_SIZE_2K ,
5959 .num_of_queues = IWLAGN_NUM_QUEUES ,
6060 .max_tfd_queue_size = 256 ,
@@ -67,12 +67,6 @@ static const struct iwl_base_params iwl2030_base_params = {
6767 .scd_chain_ext_wa = true,
6868};
6969
70- static const struct iwl_ht_params iwl2000_ht_params = {
71- .ht_greenfield_support = true,
72- .use_rts_for_aggregation = true, /* use rts/cts protection */
73- .ht40_bands = BIT (NL80211_BAND_2GHZ ),
74- };
75-
7670static const struct iwl_eeprom_params iwl20x0_eeprom_params = {
7771 .regulatory_bands = {
7872 EEPROM_REG_BAND_1_CHANNELS ,
@@ -86,97 +80,119 @@ static const struct iwl_eeprom_params iwl20x0_eeprom_params = {
8680 .enhanced_txpower = true,
8781};
8882
83+ const struct iwl_mac_cfg iwl2000_mac_cfg = {
84+ .device_family = IWL_DEVICE_FAMILY_2000 ,
85+ .base = & iwl2000_base ,
86+ };
87+
8988#define IWL_DEVICE_2000 \
9089 .fw_name_pre = IWL2000_FW_PRE, \
9190 .ucode_api_max = IWL2000_UCODE_API_MAX, \
9291 .ucode_api_min = IWL2000_UCODE_API_MIN, \
93- .trans.device_family = IWL_DEVICE_FAMILY_2000, \
9492 .max_inst_size = IWL60_RTC_INST_SIZE, \
9593 .max_data_size = IWL60_RTC_DATA_SIZE, \
9694 .nvm_ver = EEPROM_2000_EEPROM_VERSION, \
9795 .nvm_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
98- .trans.base_params = &iwl2000_base_params, \
9996 .eeprom_params = &iwl20x0_eeprom_params, \
10097 .led_mode = IWL_LED_RF_STATE
10198
10299
103- const struct iwl_cfg iwl2000_2bgn_cfg = {
104- .name = "Intel(R) Centrino(R) Wireless-N 2200 BGN" ,
100+ const struct iwl_rf_cfg iwl2000_2bgn_cfg = {
105101 IWL_DEVICE_2000 ,
106- .ht_params = & iwl2000_ht_params ,
102+ .ht_params = {
103+ .ht_greenfield_support = true,
104+ .use_rts_for_aggregation = true, /* use rts/cts protection */
105+ .ht40_bands = BIT (NL80211_BAND_2GHZ ),
106+ },
107107};
108108
109- const struct iwl_cfg iwl2000_2bgn_d_cfg = {
110- .name = "Intel(R) Centrino(R) Wireless-N 2200D BGN" ,
111- IWL_DEVICE_2000 ,
112- .ht_params = & iwl2000_ht_params ,
109+ const char iwl2000_2bgn_name [] = "Intel(R) Centrino(R) Wireless-N 2200 BGN" ;
110+ const char iwl2000_2bgn_d_name [] = "Intel(R) Centrino(R) Wireless-N 2200D BGN" ;
111+
112+ const struct iwl_mac_cfg iwl2030_mac_cfg = {
113+ .device_family = IWL_DEVICE_FAMILY_2030 ,
114+ .base = & iwl2030_base ,
113115};
114116
115117#define IWL_DEVICE_2030 \
116118 .fw_name_pre = IWL2030_FW_PRE, \
117119 .ucode_api_max = IWL2030_UCODE_API_MAX, \
118120 .ucode_api_min = IWL2030_UCODE_API_MIN, \
119- .trans.device_family = IWL_DEVICE_FAMILY_2030, \
120121 .max_inst_size = IWL60_RTC_INST_SIZE, \
121122 .max_data_size = IWL60_RTC_DATA_SIZE, \
122123 .nvm_ver = EEPROM_2000_EEPROM_VERSION, \
123124 .nvm_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
124- .trans.base_params = &iwl2030_base_params, \
125125 .eeprom_params = &iwl20x0_eeprom_params, \
126126 .led_mode = IWL_LED_RF_STATE
127127
128- const struct iwl_cfg iwl2030_2bgn_cfg = {
129- .name = "Intel(R) Centrino(R) Wireless-N 2230 BGN" ,
128+ const struct iwl_rf_cfg iwl2030_2bgn_cfg = {
130129 IWL_DEVICE_2030 ,
131- .ht_params = & iwl2000_ht_params ,
130+ .ht_params = {
131+ .ht_greenfield_support = true,
132+ .use_rts_for_aggregation = true, /* use rts/cts protection */
133+ .ht40_bands = BIT (NL80211_BAND_2GHZ ),
134+ },
135+ };
136+
137+ const char iwl2030_2bgn_name [] = "Intel(R) Centrino(R) Wireless-N 2230 BGN" ;
138+
139+ const struct iwl_mac_cfg iwl105_mac_cfg = {
140+ .device_family = IWL_DEVICE_FAMILY_105 ,
141+ .base = & iwl2000_base ,
132142};
133143
134144#define IWL_DEVICE_105 \
135145 .fw_name_pre = IWL105_FW_PRE, \
136146 .ucode_api_max = IWL105_UCODE_API_MAX, \
137147 .ucode_api_min = IWL105_UCODE_API_MIN, \
138- .trans.device_family = IWL_DEVICE_FAMILY_105, \
139148 .max_inst_size = IWL60_RTC_INST_SIZE, \
140149 .max_data_size = IWL60_RTC_DATA_SIZE, \
141150 .nvm_ver = EEPROM_2000_EEPROM_VERSION, \
142151 .nvm_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
143- .trans.base_params = &iwl2000_base_params, \
144152 .eeprom_params = &iwl20x0_eeprom_params, \
145153 .led_mode = IWL_LED_RF_STATE, \
146154 .rx_with_siso_diversity = true
147155
148- const struct iwl_cfg iwl105_bgn_cfg = {
149- .name = "Intel(R) Centrino(R) Wireless-N 105 BGN" ,
156+ const struct iwl_rf_cfg iwl105_bgn_cfg = {
150157 IWL_DEVICE_105 ,
151- .ht_params = & iwl2000_ht_params ,
158+ .ht_params = {
159+ .ht_greenfield_support = true,
160+ .use_rts_for_aggregation = true, /* use rts/cts protection */
161+ .ht40_bands = BIT (NL80211_BAND_2GHZ ),
162+ },
152163};
153164
154- const struct iwl_cfg iwl105_bgn_d_cfg = {
155- .name = "Intel(R) Centrino(R) Wireless-N 105D BGN" ,
156- IWL_DEVICE_105 ,
157- .ht_params = & iwl2000_ht_params ,
165+ const char iwl105_bgn_name [] = "Intel(R) Centrino(R) Wireless-N 105 BGN" ;
166+ const char iwl105_bgn_d_name [] = "Intel(R) Centrino(R) Wireless-N 105D BGN" ;
167+
168+ const struct iwl_mac_cfg iwl135_mac_cfg = {
169+ .device_family = IWL_DEVICE_FAMILY_135 ,
170+ .base = & iwl2030_base ,
158171};
159172
160173#define IWL_DEVICE_135 \
161174 .fw_name_pre = IWL135_FW_PRE, \
162175 .ucode_api_max = IWL135_UCODE_API_MAX, \
163176 .ucode_api_min = IWL135_UCODE_API_MIN, \
164- .trans.device_family = IWL_DEVICE_FAMILY_135, \
165177 .max_inst_size = IWL60_RTC_INST_SIZE, \
166178 .max_data_size = IWL60_RTC_DATA_SIZE, \
167179 .nvm_ver = EEPROM_2000_EEPROM_VERSION, \
168180 .nvm_calib_ver = EEPROM_2000_TX_POWER_VERSION, \
169- .trans.base_params = &iwl2030_base_params, \
170181 .eeprom_params = &iwl20x0_eeprom_params, \
171182 .led_mode = IWL_LED_RF_STATE, \
172183 .rx_with_siso_diversity = true
173184
174- const struct iwl_cfg iwl135_bgn_cfg = {
175- .name = "Intel(R) Centrino(R) Wireless-N 135 BGN" ,
185+ const struct iwl_rf_cfg iwl135_bgn_cfg = {
176186 IWL_DEVICE_135 ,
177- .ht_params = & iwl2000_ht_params ,
187+ .ht_params = {
188+ .ht_greenfield_support = true,
189+ .use_rts_for_aggregation = true, /* use rts/cts protection */
190+ .ht40_bands = BIT (NL80211_BAND_2GHZ ),
191+ },
178192};
179193
194+ const char iwl135_bgn_name [] = "Intel(R) Centrino(R) Wireless-N 135 BGN" ;
195+
180196MODULE_FIRMWARE (IWL2000_MODULE_FIRMWARE (IWL2000_UCODE_API_MAX ));
181197MODULE_FIRMWARE (IWL2030_MODULE_FIRMWARE (IWL2030_UCODE_API_MAX ));
182198MODULE_FIRMWARE (IWL105_MODULE_FIRMWARE (IWL105_UCODE_API_MAX ));
0 commit comments