diff options
author | John W. Linville <linville@tuxdriver.com> | 2010-05-11 14:24:55 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-05-11 14:24:55 -0400 |
commit | cc755896a4274f11283bca32d1d658203844057a (patch) | |
tree | 218970ece71df99f686b9416b7fd88b921690ebb /include | |
parent | d250fe91ae129bff0968e685cc9c466d3a5e3482 (diff) | |
parent | 9459d59fbf0bc82ff4c804679fa8bc22788eca63 (diff) |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Conflicts:
drivers/net/wireless/ath/ar9170/main.c
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/nl80211.h | 13 | ||||
-rw-r--r-- | include/net/cfg80211.h | 11 | ||||
-rw-r--r-- | include/net/mac80211.h | 6 |
3 files changed, 28 insertions, 2 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h index f8750f9a65b8..b7c77f9712f4 100644 --- a/include/linux/nl80211.h +++ b/include/linux/nl80211.h | |||
@@ -52,6 +52,8 @@ | |||
52 | * %NL80211_ATTR_WIPHY_CHANNEL_TYPE, %NL80211_ATTR_WIPHY_RETRY_SHORT, | 52 | * %NL80211_ATTR_WIPHY_CHANNEL_TYPE, %NL80211_ATTR_WIPHY_RETRY_SHORT, |
53 | * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, | 53 | * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD, |
54 | * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. | 54 | * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD. |
55 | * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL | ||
56 | * instead, the support here is for backward compatibility only. | ||
55 | * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request | 57 | * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request |
56 | * or rename notification. Has attributes %NL80211_ATTR_WIPHY and | 58 | * or rename notification. Has attributes %NL80211_ATTR_WIPHY and |
57 | * %NL80211_ATTR_WIPHY_NAME. | 59 | * %NL80211_ATTR_WIPHY_NAME. |
@@ -329,6 +331,15 @@ | |||
329 | * @NL80211_CMD_NOTIFY_CQM: Connection quality monitor notification. This | 331 | * @NL80211_CMD_NOTIFY_CQM: Connection quality monitor notification. This |
330 | * command is used as an event to indicate the that a trigger level was | 332 | * command is used as an event to indicate the that a trigger level was |
331 | * reached. | 333 | * reached. |
334 | * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ | ||
335 | * and %NL80211_ATTR_WIPHY_CHANNEL_TYPE) the given interface (identifed | ||
336 | * by %NL80211_ATTR_IFINDEX) shall operate on. | ||
337 | * In case multiple channels are supported by the device, the mechanism | ||
338 | * with which it switches channels is implementation-defined. | ||
339 | * When a monitor interface is given, it can only switch channel while | ||
340 | * no other interfaces are operating to avoid disturbing the operation | ||
341 | * of any other interfaces, and other interfaces will again take | ||
342 | * precedence when they are used. | ||
332 | * | 343 | * |
333 | * @NL80211_CMD_MAX: highest used command number | 344 | * @NL80211_CMD_MAX: highest used command number |
334 | * @__NL80211_CMD_AFTER_LAST: internal use | 345 | * @__NL80211_CMD_AFTER_LAST: internal use |
@@ -428,6 +439,8 @@ enum nl80211_commands { | |||
428 | NL80211_CMD_SET_CQM, | 439 | NL80211_CMD_SET_CQM, |
429 | NL80211_CMD_NOTIFY_CQM, | 440 | NL80211_CMD_NOTIFY_CQM, |
430 | 441 | ||
442 | NL80211_CMD_SET_CHANNEL, | ||
443 | |||
431 | /* add new commands above here */ | 444 | /* add new commands above here */ |
432 | 445 | ||
433 | /* used to define NL80211_CMD_MAX below */ | 446 | /* used to define NL80211_CMD_MAX below */ |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 7d10c0182f53..b44a2e5321a3 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -966,7 +966,11 @@ struct cfg80211_pmksa { | |||
966 | * | 966 | * |
967 | * @set_txq_params: Set TX queue parameters | 967 | * @set_txq_params: Set TX queue parameters |
968 | * | 968 | * |
969 | * @set_channel: Set channel | 969 | * @set_channel: Set channel for a given wireless interface. Some devices |
970 | * may support multi-channel operation (by channel hopping) so cfg80211 | ||
971 | * doesn't verify much. Note, however, that the passed netdev may be | ||
972 | * %NULL as well if the user requested changing the channel for the | ||
973 | * device itself, or for a monitor interface. | ||
970 | * | 974 | * |
971 | * @scan: Request to do a scan. If returning zero, the scan request is given | 975 | * @scan: Request to do a scan. If returning zero, the scan request is given |
972 | * the driver, and will be valid until passed to cfg80211_scan_done(). | 976 | * the driver, and will be valid until passed to cfg80211_scan_done(). |
@@ -1095,7 +1099,7 @@ struct cfg80211_ops { | |||
1095 | int (*set_txq_params)(struct wiphy *wiphy, | 1099 | int (*set_txq_params)(struct wiphy *wiphy, |
1096 | struct ieee80211_txq_params *params); | 1100 | struct ieee80211_txq_params *params); |
1097 | 1101 | ||
1098 | int (*set_channel)(struct wiphy *wiphy, | 1102 | int (*set_channel)(struct wiphy *wiphy, struct net_device *dev, |
1099 | struct ieee80211_channel *chan, | 1103 | struct ieee80211_channel *chan, |
1100 | enum nl80211_channel_type channel_type); | 1104 | enum nl80211_channel_type channel_type); |
1101 | 1105 | ||
@@ -1461,6 +1465,8 @@ struct cfg80211_cached_keys; | |||
1461 | * @list: (private) Used to collect the interfaces | 1465 | * @list: (private) Used to collect the interfaces |
1462 | * @netdev: (private) Used to reference back to the netdev | 1466 | * @netdev: (private) Used to reference back to the netdev |
1463 | * @current_bss: (private) Used by the internal configuration code | 1467 | * @current_bss: (private) Used by the internal configuration code |
1468 | * @channel: (private) Used by the internal configuration code to track | ||
1469 | * user-set AP, monitor and WDS channels for wireless extensions | ||
1464 | * @bssid: (private) Used by the internal configuration code | 1470 | * @bssid: (private) Used by the internal configuration code |
1465 | * @ssid: (private) Used by the internal configuration code | 1471 | * @ssid: (private) Used by the internal configuration code |
1466 | * @ssid_len: (private) Used by the internal configuration code | 1472 | * @ssid_len: (private) Used by the internal configuration code |
@@ -1507,6 +1513,7 @@ struct wireless_dev { | |||
1507 | struct cfg80211_internal_bss *authtry_bsses[MAX_AUTH_BSSES]; | 1513 | struct cfg80211_internal_bss *authtry_bsses[MAX_AUTH_BSSES]; |
1508 | struct cfg80211_internal_bss *auth_bsses[MAX_AUTH_BSSES]; | 1514 | struct cfg80211_internal_bss *auth_bsses[MAX_AUTH_BSSES]; |
1509 | struct cfg80211_internal_bss *current_bss; /* associated / joined */ | 1515 | struct cfg80211_internal_bss *current_bss; /* associated / joined */ |
1516 | struct ieee80211_channel *channel; | ||
1510 | 1517 | ||
1511 | bool ps; | 1518 | bool ps; |
1512 | int ps_timeout; | 1519 | int ps_timeout; |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 54aa16b98b76..ac45c5b9d7e2 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -160,6 +160,8 @@ enum ieee80211_bss_change { | |||
160 | BSS_CHANGED_BEACON_ENABLED = 1<<9, | 160 | BSS_CHANGED_BEACON_ENABLED = 1<<9, |
161 | BSS_CHANGED_CQM = 1<<10, | 161 | BSS_CHANGED_CQM = 1<<10, |
162 | BSS_CHANGED_IBSS = 1<<11, | 162 | BSS_CHANGED_IBSS = 1<<11, |
163 | |||
164 | /* when adding here, make sure to change ieee80211_reconfig */ | ||
163 | }; | 165 | }; |
164 | 166 | ||
165 | /** | 167 | /** |
@@ -189,6 +191,9 @@ enum ieee80211_bss_change { | |||
189 | * the current band. | 191 | * the current band. |
190 | * @bssid: The BSSID for this BSS | 192 | * @bssid: The BSSID for this BSS |
191 | * @enable_beacon: whether beaconing should be enabled or not | 193 | * @enable_beacon: whether beaconing should be enabled or not |
194 | * @channel_type: Channel type for this BSS -- the hardware might be | ||
195 | * configured for HT40+ while this BSS only uses no-HT, for | ||
196 | * example. | ||
192 | * @ht_operation_mode: HT operation mode (like in &struct ieee80211_ht_info). | 197 | * @ht_operation_mode: HT operation mode (like in &struct ieee80211_ht_info). |
193 | * This field is only valid when the channel type is one of the HT types. | 198 | * This field is only valid when the channel type is one of the HT types. |
194 | * @cqm_rssi_thold: Connection quality monitor RSSI threshold, a zero value | 199 | * @cqm_rssi_thold: Connection quality monitor RSSI threshold, a zero value |
@@ -213,6 +218,7 @@ struct ieee80211_bss_conf { | |||
213 | u16 ht_operation_mode; | 218 | u16 ht_operation_mode; |
214 | s32 cqm_rssi_thold; | 219 | s32 cqm_rssi_thold; |
215 | u32 cqm_rssi_hyst; | 220 | u32 cqm_rssi_hyst; |
221 | enum nl80211_channel_type channel_type; | ||
216 | }; | 222 | }; |
217 | 223 | ||
218 | /** | 224 | /** |