diff options
author | David S. Miller <davem@davemloft.net> | 2008-08-29 17:02:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-08-29 17:02:13 -0400 |
commit | 143b11c03cd42f2284efe5128afc057d8fc86c78 (patch) | |
tree | 8186830c461b7933c26cdd00b69e4c737c5c88e7 /include | |
parent | af01d537463714e36e2c96d2da35902b76cd6827 (diff) | |
parent | 18c8adeb0244f823ba78a51e23f813fe68bc3c54 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/ieee80211.h | 1 | ||||
-rw-r--r-- | include/linux/nl80211.h | 31 | ||||
-rw-r--r-- | include/linux/ssb/ssb_regs.h | 19 | ||||
-rw-r--r-- | include/net/cfg80211.h | 23 | ||||
-rw-r--r-- | include/net/mac80211.h | 9 |
5 files changed, 79 insertions, 4 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index 7f4df7c7659d..be456450cd2e 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -714,6 +714,7 @@ struct ieee80211_ht_addt_info { | |||
714 | #define IEEE80211_HT_CAP_SGI_40 0x0040 | 714 | #define IEEE80211_HT_CAP_SGI_40 0x0040 |
715 | #define IEEE80211_HT_CAP_DELAY_BA 0x0400 | 715 | #define IEEE80211_HT_CAP_DELAY_BA 0x0400 |
716 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 | 716 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 |
717 | #define IEEE80211_HT_CAP_DSSSCCK40 0x1000 | ||
717 | /* 802.11n HT capability AMPDU settings */ | 718 | /* 802.11n HT capability AMPDU settings */ |
718 | #define IEEE80211_HT_CAP_AMPDU_FACTOR 0x03 | 719 | #define IEEE80211_HT_CAP_AMPDU_FACTOR 0x03 |
719 | #define IEEE80211_HT_CAP_AMPDU_DENSITY 0x1C | 720 | #define IEEE80211_HT_CAP_AMPDU_DENSITY 0x1C |
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index 2be7c63bc0f2..0c1147de3ec7 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -89,6 +89,8 @@ | |||
89 | * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC | 89 | * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC |
90 | * or, if no MAC address given, all mesh paths, on the interface identified | 90 | * or, if no MAC address given, all mesh paths, on the interface identified |
91 | * by %NL80211_ATTR_IFINDEX. | 91 | * by %NL80211_ATTR_IFINDEX. |
92 | * @NL80211_CMD_SET_BSS: Set BSS attributes for BSS identified by | ||
93 | * %NL80211_ATTR_IFINDEX. | ||
92 | * | 94 | * |
93 | * @NL80211_CMD_MAX: highest used command number | 95 | * @NL80211_CMD_MAX: highest used command number |
94 | * @__NL80211_CMD_AFTER_LAST: internal use | 96 | * @__NL80211_CMD_AFTER_LAST: internal use |
@@ -127,6 +129,8 @@ enum nl80211_commands { | |||
127 | NL80211_CMD_NEW_MPATH, | 129 | NL80211_CMD_NEW_MPATH, |
128 | NL80211_CMD_DEL_MPATH, | 130 | NL80211_CMD_DEL_MPATH, |
129 | 131 | ||
132 | NL80211_CMD_SET_BSS, | ||
133 | |||
130 | /* add commands here */ | 134 | /* add commands here */ |
131 | 135 | ||
132 | /* used to define NL80211_CMD_MAX below */ | 136 | /* used to define NL80211_CMD_MAX below */ |
@@ -134,6 +138,11 @@ enum nl80211_commands { | |||
134 | NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1 | 138 | NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1 |
135 | }; | 139 | }; |
136 | 140 | ||
141 | /* | ||
142 | * Allow user space programs to use #ifdef on new commands by defining them | ||
143 | * here | ||
144 | */ | ||
145 | #define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS | ||
137 | 146 | ||
138 | /** | 147 | /** |
139 | * enum nl80211_attrs - nl80211 netlink attributes | 148 | * enum nl80211_attrs - nl80211 netlink attributes |
@@ -192,6 +201,15 @@ enum nl80211_commands { | |||
192 | * @NL80211_ATTR_MNTR_FLAGS: flags, nested element with NLA_FLAG attributes of | 201 | * @NL80211_ATTR_MNTR_FLAGS: flags, nested element with NLA_FLAG attributes of |
193 | * &enum nl80211_mntr_flags. | 202 | * &enum nl80211_mntr_flags. |
194 | * | 203 | * |
204 | * @NL80211_ATTR_BSS_CTS_PROT: whether CTS protection is enabled (u8, 0 or 1) | ||
205 | * @NL80211_ATTR_BSS_SHORT_PREAMBLE: whether short preamble is enabled | ||
206 | * (u8, 0 or 1) | ||
207 | * @NL80211_ATTR_BSS_SHORT_SLOT_TIME: whether short slot time enabled | ||
208 | * (u8, 0 or 1) | ||
209 | * | ||
210 | * @NL80211_ATTR_HT_CAPABILITY: HT Capability information element (from | ||
211 | * association request when used with NL80211_CMD_NEW_STATION) | ||
212 | * | ||
195 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 213 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
196 | * @__NL80211_ATTR_AFTER_LAST: internal use | 214 | * @__NL80211_ATTR_AFTER_LAST: internal use |
197 | */ | 215 | */ |
@@ -235,16 +253,29 @@ enum nl80211_attrs { | |||
235 | NL80211_ATTR_MPATH_NEXT_HOP, | 253 | NL80211_ATTR_MPATH_NEXT_HOP, |
236 | NL80211_ATTR_MPATH_INFO, | 254 | NL80211_ATTR_MPATH_INFO, |
237 | 255 | ||
256 | NL80211_ATTR_BSS_CTS_PROT, | ||
257 | NL80211_ATTR_BSS_SHORT_PREAMBLE, | ||
258 | NL80211_ATTR_BSS_SHORT_SLOT_TIME, | ||
259 | |||
260 | NL80211_ATTR_HT_CAPABILITY, | ||
261 | |||
238 | /* add attributes here, update the policy in nl80211.c */ | 262 | /* add attributes here, update the policy in nl80211.c */ |
239 | 263 | ||
240 | __NL80211_ATTR_AFTER_LAST, | 264 | __NL80211_ATTR_AFTER_LAST, |
241 | NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 | 265 | NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1 |
242 | }; | 266 | }; |
243 | 267 | ||
268 | /* | ||
269 | * Allow user space programs to use #ifdef on new attributes by defining them | ||
270 | * here | ||
271 | */ | ||
272 | #define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY | ||
273 | |||
244 | #define NL80211_MAX_SUPP_RATES 32 | 274 | #define NL80211_MAX_SUPP_RATES 32 |
245 | #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 | 275 | #define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0 |
246 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 | 276 | #define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16 |
247 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 | 277 | #define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24 |
278 | #define NL80211_HT_CAPABILITY_LEN 26 | ||
248 | 279 | ||
249 | /** | 280 | /** |
250 | * enum nl80211_iftype - (virtual) interface types | 281 | * enum nl80211_iftype - (virtual) interface types |
diff --git a/include/linux/ssb/ssb_regs.h b/include/linux/ssb/ssb_regs.h index ebad0bac9801..99a0f991e850 100644 --- a/include/linux/ssb/ssb_regs.h +++ b/include/linux/ssb/ssb_regs.h | |||
@@ -245,8 +245,6 @@ | |||
245 | 245 | ||
246 | /* SPROM Revision 3 (inherits most data from rev 2) */ | 246 | /* SPROM Revision 3 (inherits most data from rev 2) */ |
247 | #define SSB_SPROM3_IL0MAC 0x104A /* 6 bytes MAC address for 802.11b/g */ | 247 | #define SSB_SPROM3_IL0MAC 0x104A /* 6 bytes MAC address for 802.11b/g */ |
248 | #define SSB_SPROM3_ET0MAC 0x1050 /* 6 bytes MAC address for Ethernet ?? */ | ||
249 | #define SSB_SPROM3_ET1MAC 0x1050 /* 6 bytes MAC address for 802.11a ?? */ | ||
250 | #define SSB_SPROM3_OFDMAPO 0x102C /* A-PHY OFDM Mid Power Offset (4 bytes, BigEndian) */ | 248 | #define SSB_SPROM3_OFDMAPO 0x102C /* A-PHY OFDM Mid Power Offset (4 bytes, BigEndian) */ |
251 | #define SSB_SPROM3_OFDMALPO 0x1030 /* A-PHY OFDM Low Power Offset (4 bytes, BigEndian) */ | 249 | #define SSB_SPROM3_OFDMALPO 0x1030 /* A-PHY OFDM Low Power Offset (4 bytes, BigEndian) */ |
252 | #define SSB_SPROM3_OFDMAHPO 0x1034 /* A-PHY OFDM High Power Offset (4 bytes, BigEndian) */ | 250 | #define SSB_SPROM3_OFDMAHPO 0x1034 /* A-PHY OFDM High Power Offset (4 bytes, BigEndian) */ |
@@ -267,8 +265,6 @@ | |||
267 | 265 | ||
268 | /* SPROM Revision 4 */ | 266 | /* SPROM Revision 4 */ |
269 | #define SSB_SPROM4_IL0MAC 0x104C /* 6 byte MAC address for a/b/g/n */ | 267 | #define SSB_SPROM4_IL0MAC 0x104C /* 6 byte MAC address for a/b/g/n */ |
270 | #define SSB_SPROM4_ET0MAC 0x1018 /* 6 bytes MAC address for Ethernet ?? */ | ||
271 | #define SSB_SPROM4_ET1MAC 0x1018 /* 6 bytes MAC address for 802.11a ?? */ | ||
272 | #define SSB_SPROM4_ETHPHY 0x105A /* Ethernet PHY settings ?? */ | 268 | #define SSB_SPROM4_ETHPHY 0x105A /* Ethernet PHY settings ?? */ |
273 | #define SSB_SPROM4_ETHPHY_ET0A 0x001F /* MII Address for enet0 */ | 269 | #define SSB_SPROM4_ETHPHY_ET0A 0x001F /* MII Address for enet0 */ |
274 | #define SSB_SPROM4_ETHPHY_ET1A 0x03E0 /* MII Address for enet1 */ | 270 | #define SSB_SPROM4_ETHPHY_ET1A 0x03E0 /* MII Address for enet1 */ |
@@ -316,6 +312,21 @@ | |||
316 | #define SSB_SPROM4_PA1B1 0x1090 | 312 | #define SSB_SPROM4_PA1B1 0x1090 |
317 | #define SSB_SPROM4_PA1B2 0x1092 | 313 | #define SSB_SPROM4_PA1B2 0x1092 |
318 | 314 | ||
315 | /* SPROM Revision 5 (inherits most data from rev 4) */ | ||
316 | #define SSB_SPROM5_BFLLO 0x104A /* Boardflags (low 16 bits) */ | ||
317 | #define SSB_SPROM5_BFLHI 0x104C /* Board Flags Hi */ | ||
318 | #define SSB_SPROM5_IL0MAC 0x1052 /* 6 byte MAC address for a/b/g/n */ | ||
319 | #define SSB_SPROM5_CCODE 0x1044 /* Country Code (2 bytes) */ | ||
320 | #define SSB_SPROM5_GPIOA 0x1076 /* Gen. Purpose IO # 0 and 1 */ | ||
321 | #define SSB_SPROM5_GPIOA_P0 0x00FF /* Pin 0 */ | ||
322 | #define SSB_SPROM5_GPIOA_P1 0xFF00 /* Pin 1 */ | ||
323 | #define SSB_SPROM5_GPIOA_P1_SHIFT 8 | ||
324 | #define SSB_SPROM5_GPIOB 0x1078 /* Gen. Purpose IO # 2 and 3 */ | ||
325 | #define SSB_SPROM5_GPIOB_P2 0x00FF /* Pin 2 */ | ||
326 | #define SSB_SPROM5_GPIOB_P3 0xFF00 /* Pin 3 */ | ||
327 | #define SSB_SPROM5_GPIOB_P3_SHIFT 8 | ||
328 | |||
329 | |||
319 | /* Values for SSB_SPROM1_BINF_CCODE */ | 330 | /* Values for SSB_SPROM1_BINF_CCODE */ |
320 | enum { | 331 | enum { |
321 | SSB_SPROM1CCODE_WORLD = 0, | 332 | SSB_SPROM1CCODE_WORLD = 0, |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index e00750836ba5..0a72d1e3d3ab 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -152,6 +152,7 @@ struct station_parameters { | |||
152 | u16 aid; | 152 | u16 aid; |
153 | u8 supported_rates_len; | 153 | u8 supported_rates_len; |
154 | u8 plink_action; | 154 | u8 plink_action; |
155 | struct ieee80211_ht_cap *ht_capa; | ||
155 | }; | 156 | }; |
156 | 157 | ||
157 | /** | 158 | /** |
@@ -268,6 +269,23 @@ struct mpath_info { | |||
268 | u8 flags; | 269 | u8 flags; |
269 | }; | 270 | }; |
270 | 271 | ||
272 | /** | ||
273 | * struct bss_parameters - BSS parameters | ||
274 | * | ||
275 | * Used to change BSS parameters (mainly for AP mode). | ||
276 | * | ||
277 | * @use_cts_prot: Whether to use CTS protection | ||
278 | * (0 = no, 1 = yes, -1 = do not change) | ||
279 | * @use_short_preamble: Whether the use of short preambles is allowed | ||
280 | * (0 = no, 1 = yes, -1 = do not change) | ||
281 | * @use_short_slot_time: Whether the use of short slot time is allowed | ||
282 | * (0 = no, 1 = yes, -1 = do not change) | ||
283 | */ | ||
284 | struct bss_parameters { | ||
285 | int use_cts_prot; | ||
286 | int use_short_preamble; | ||
287 | int use_short_slot_time; | ||
288 | }; | ||
271 | 289 | ||
272 | /* from net/wireless.h */ | 290 | /* from net/wireless.h */ |
273 | struct wiphy; | 291 | struct wiphy; |
@@ -318,6 +336,8 @@ struct wiphy; | |||
318 | * @change_station: Modify a given station. | 336 | * @change_station: Modify a given station. |
319 | * | 337 | * |
320 | * @set_mesh_cfg: set mesh parameters (by now, just mesh id) | 338 | * @set_mesh_cfg: set mesh parameters (by now, just mesh id) |
339 | * | ||
340 | * @change_bss: Modify parameters for a given BSS. | ||
321 | */ | 341 | */ |
322 | struct cfg80211_ops { | 342 | struct cfg80211_ops { |
323 | int (*add_virtual_intf)(struct wiphy *wiphy, char *name, | 343 | int (*add_virtual_intf)(struct wiphy *wiphy, char *name, |
@@ -370,6 +390,9 @@ struct cfg80211_ops { | |||
370 | int (*dump_mpath)(struct wiphy *wiphy, struct net_device *dev, | 390 | int (*dump_mpath)(struct wiphy *wiphy, struct net_device *dev, |
371 | int idx, u8 *dst, u8 *next_hop, | 391 | int idx, u8 *dst, u8 *next_hop, |
372 | struct mpath_info *pinfo); | 392 | struct mpath_info *pinfo); |
393 | |||
394 | int (*change_bss)(struct wiphy *wiphy, struct net_device *dev, | ||
395 | struct bss_parameters *params); | ||
373 | }; | 396 | }; |
374 | 397 | ||
375 | #endif /* __NET_CFG80211_H */ | 398 | #endif /* __NET_CFG80211_H */ |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 0fdc3dabc964..7c399a9c11da 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -158,12 +158,14 @@ struct ieee80211_low_level_stats { | |||
158 | * also implies a change in the AID. | 158 | * also implies a change in the AID. |
159 | * @BSS_CHANGED_ERP_CTS_PROT: CTS protection changed | 159 | * @BSS_CHANGED_ERP_CTS_PROT: CTS protection changed |
160 | * @BSS_CHANGED_ERP_PREAMBLE: preamble changed | 160 | * @BSS_CHANGED_ERP_PREAMBLE: preamble changed |
161 | * @BSS_CHANGED_ERP_SLOT: slot timing changed | ||
161 | * @BSS_CHANGED_HT: 802.11n parameters changed | 162 | * @BSS_CHANGED_HT: 802.11n parameters changed |
162 | */ | 163 | */ |
163 | enum ieee80211_bss_change { | 164 | enum ieee80211_bss_change { |
164 | BSS_CHANGED_ASSOC = 1<<0, | 165 | BSS_CHANGED_ASSOC = 1<<0, |
165 | BSS_CHANGED_ERP_CTS_PROT = 1<<1, | 166 | BSS_CHANGED_ERP_CTS_PROT = 1<<1, |
166 | BSS_CHANGED_ERP_PREAMBLE = 1<<2, | 167 | BSS_CHANGED_ERP_PREAMBLE = 1<<2, |
168 | BSS_CHANGED_ERP_SLOT = 1<<3, | ||
167 | BSS_CHANGED_HT = 1<<4, | 169 | BSS_CHANGED_HT = 1<<4, |
168 | }; | 170 | }; |
169 | 171 | ||
@@ -177,6 +179,7 @@ enum ieee80211_bss_change { | |||
177 | * @aid: association ID number, valid only when @assoc is true | 179 | * @aid: association ID number, valid only when @assoc is true |
178 | * @use_cts_prot: use CTS protection | 180 | * @use_cts_prot: use CTS protection |
179 | * @use_short_preamble: use 802.11b short preamble | 181 | * @use_short_preamble: use 802.11b short preamble |
182 | * @use_short_slot: use short slot time (only relevant for ERP) | ||
180 | * @dtim_period: num of beacons before the next DTIM, for PSM | 183 | * @dtim_period: num of beacons before the next DTIM, for PSM |
181 | * @timestamp: beacon timestamp | 184 | * @timestamp: beacon timestamp |
182 | * @beacon_int: beacon interval | 185 | * @beacon_int: beacon interval |
@@ -192,6 +195,7 @@ struct ieee80211_bss_conf { | |||
192 | /* erp related data */ | 195 | /* erp related data */ |
193 | bool use_cts_prot; | 196 | bool use_cts_prot; |
194 | bool use_short_preamble; | 197 | bool use_short_preamble; |
198 | bool use_short_slot; | ||
195 | u8 dtim_period; | 199 | u8 dtim_period; |
196 | u16 beacon_int; | 200 | u16 beacon_int; |
197 | u16 assoc_capability; | 201 | u16 assoc_capability; |
@@ -420,6 +424,11 @@ struct ieee80211_rx_status { | |||
420 | * @IEEE80211_CONF_PS: Enable 802.11 power save mode | 424 | * @IEEE80211_CONF_PS: Enable 802.11 power save mode |
421 | */ | 425 | */ |
422 | enum ieee80211_conf_flags { | 426 | enum ieee80211_conf_flags { |
427 | /* | ||
428 | * TODO: IEEE80211_CONF_SHORT_SLOT_TIME will be removed once drivers | ||
429 | * have been converted to use bss_info_changed() for slot time | ||
430 | * configuration | ||
431 | */ | ||
423 | IEEE80211_CONF_SHORT_SLOT_TIME = (1<<0), | 432 | IEEE80211_CONF_SHORT_SLOT_TIME = (1<<0), |
424 | IEEE80211_CONF_RADIOTAP = (1<<1), | 433 | IEEE80211_CONF_RADIOTAP = (1<<1), |
425 | IEEE80211_CONF_SUPPORT_HT_MODE = (1<<2), | 434 | IEEE80211_CONF_SUPPORT_HT_MODE = (1<<2), |