diff options
author | John W. Linville <linville@tuxdriver.com> | 2013-04-10 14:09:54 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-04-10 14:09:54 -0400 |
commit | 655d8e2328a6ef6b6b514609a4c1e33508d3a1da (patch) | |
tree | 144b686bf3fd6512a55987da2d911f739646ce02 /include/net | |
parent | 6fe5468f452c0c40348ebd4e737758a842286ca8 (diff) | |
parent | ddc4db2e3d5393ede7a9222bb3b7522a603a4678 (diff) |
Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Conflicts:
drivers/net/wireless/ath/carl9170/debug.c
drivers/net/wireless/ath/carl9170/main.c
net/mac80211/ieee80211_i.h
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/cfg80211.h | 4 | ||||
-rw-r--r-- | include/net/mac80211.h | 37 |
2 files changed, 28 insertions, 13 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index bdba9b619064..57870b646974 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1998,6 +1998,10 @@ struct cfg80211_update_ft_ies_params { | |||
1998 | * advertise the support for MAC based ACL have to implement this callback. | 1998 | * advertise the support for MAC based ACL have to implement this callback. |
1999 | * | 1999 | * |
2000 | * @start_radar_detection: Start radar detection in the driver. | 2000 | * @start_radar_detection: Start radar detection in the driver. |
2001 | * | ||
2002 | * @update_ft_ies: Provide updated Fast BSS Transition information to the | ||
2003 | * driver. If the SME is in the driver/firmware, this information can be | ||
2004 | * used in building Authentication and Reassociation Request frames. | ||
2001 | */ | 2005 | */ |
2002 | struct cfg80211_ops { | 2006 | struct cfg80211_ops { |
2003 | int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); | 2007 | int (*suspend)(struct wiphy *wiphy, struct cfg80211_wowlan *wow); |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index dd73b8c6746b..64faf015dd1e 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -330,8 +330,7 @@ enum ieee80211_rssi_event { | |||
330 | * @ssid_len: Length of SSID given in @ssid. | 330 | * @ssid_len: Length of SSID given in @ssid. |
331 | * @hidden_ssid: The SSID of the current vif is hidden. Only valid in AP-mode. | 331 | * @hidden_ssid: The SSID of the current vif is hidden. Only valid in AP-mode. |
332 | * @txpower: TX power in dBm | 332 | * @txpower: TX power in dBm |
333 | * @p2p_ctwindow: P2P CTWindow, only for P2P client interfaces | 333 | * @p2p_noa_attr: P2P NoA attribute for P2P powersave |
334 | * @p2p_oppps: P2P opportunistic PS is enabled | ||
335 | */ | 334 | */ |
336 | struct ieee80211_bss_conf { | 335 | struct ieee80211_bss_conf { |
337 | const u8 *bssid; | 336 | const u8 *bssid; |
@@ -365,8 +364,7 @@ struct ieee80211_bss_conf { | |||
365 | size_t ssid_len; | 364 | size_t ssid_len; |
366 | bool hidden_ssid; | 365 | bool hidden_ssid; |
367 | int txpower; | 366 | int txpower; |
368 | u8 p2p_ctwindow; | 367 | struct ieee80211_p2p_noa_attr p2p_noa_attr; |
369 | bool p2p_oppps; | ||
370 | }; | 368 | }; |
371 | 369 | ||
372 | /** | 370 | /** |
@@ -976,8 +974,7 @@ enum ieee80211_smps_mode { | |||
976 | * @power_level: requested transmit power (in dBm), backward compatibility | 974 | * @power_level: requested transmit power (in dBm), backward compatibility |
977 | * value only that is set to the minimum of all interfaces | 975 | * value only that is set to the minimum of all interfaces |
978 | * | 976 | * |
979 | * @channel: the channel to tune to | 977 | * @chandef: the channel definition to tune to |
980 | * @channel_type: the channel (HT) type | ||
981 | * @radar_enabled: whether radar detection is enabled | 978 | * @radar_enabled: whether radar detection is enabled |
982 | * | 979 | * |
983 | * @long_frame_max_tx_count: Maximum number of transmissions for a "long" frame | 980 | * @long_frame_max_tx_count: Maximum number of transmissions for a "long" frame |
@@ -1003,8 +1000,7 @@ struct ieee80211_conf { | |||
1003 | 1000 | ||
1004 | u8 long_frame_max_tx_count, short_frame_max_tx_count; | 1001 | u8 long_frame_max_tx_count, short_frame_max_tx_count; |
1005 | 1002 | ||
1006 | struct ieee80211_channel *channel; | 1003 | struct cfg80211_chan_def chandef; |
1007 | enum nl80211_channel_type channel_type; | ||
1008 | bool radar_enabled; | 1004 | bool radar_enabled; |
1009 | enum ieee80211_smps_mode smps_mode; | 1005 | enum ieee80211_smps_mode smps_mode; |
1010 | }; | 1006 | }; |
@@ -1536,6 +1532,17 @@ enum ieee80211_hw_flags { | |||
1536 | * @netdev_features: netdev features to be set in each netdev created | 1532 | * @netdev_features: netdev features to be set in each netdev created |
1537 | * from this HW. Note only HW checksum features are currently | 1533 | * from this HW. Note only HW checksum features are currently |
1538 | * compatible with mac80211. Other feature bits will be rejected. | 1534 | * compatible with mac80211. Other feature bits will be rejected. |
1535 | * | ||
1536 | * @uapsd_queues: This bitmap is included in (re)association frame to indicate | ||
1537 | * for each access category if it is uAPSD trigger-enabled and delivery- | ||
1538 | * enabled. Use IEEE80211_WMM_IE_STA_QOSINFO_AC_* to set this bitmap. | ||
1539 | * Each bit corresponds to different AC. Value '1' in specific bit means | ||
1540 | * that corresponding AC is both trigger- and delivery-enabled. '0' means | ||
1541 | * neither enabled. | ||
1542 | * | ||
1543 | * @uapsd_max_sp_len: maximum number of total buffered frames the WMM AP may | ||
1544 | * deliver to a WMM STA during any Service Period triggered by the WMM STA. | ||
1545 | * Use IEEE80211_WMM_IE_STA_QOSINFO_SP_* for correct values. | ||
1539 | */ | 1546 | */ |
1540 | struct ieee80211_hw { | 1547 | struct ieee80211_hw { |
1541 | struct ieee80211_conf conf; | 1548 | struct ieee80211_conf conf; |
@@ -1561,6 +1568,8 @@ struct ieee80211_hw { | |||
1561 | u8 radiotap_mcs_details; | 1568 | u8 radiotap_mcs_details; |
1562 | u16 radiotap_vht_details; | 1569 | u16 radiotap_vht_details; |
1563 | netdev_features_t netdev_features; | 1570 | netdev_features_t netdev_features; |
1571 | u8 uapsd_queues; | ||
1572 | u8 uapsd_max_sp_len; | ||
1564 | }; | 1573 | }; |
1565 | 1574 | ||
1566 | /** | 1575 | /** |
@@ -4205,31 +4214,33 @@ void ieee80211_rate_control_unregister(struct rate_control_ops *ops); | |||
4205 | static inline bool | 4214 | static inline bool |
4206 | conf_is_ht20(struct ieee80211_conf *conf) | 4215 | conf_is_ht20(struct ieee80211_conf *conf) |
4207 | { | 4216 | { |
4208 | return conf->channel_type == NL80211_CHAN_HT20; | 4217 | return conf->chandef.width == NL80211_CHAN_WIDTH_20; |
4209 | } | 4218 | } |
4210 | 4219 | ||
4211 | static inline bool | 4220 | static inline bool |
4212 | conf_is_ht40_minus(struct ieee80211_conf *conf) | 4221 | conf_is_ht40_minus(struct ieee80211_conf *conf) |
4213 | { | 4222 | { |
4214 | return conf->channel_type == NL80211_CHAN_HT40MINUS; | 4223 | return conf->chandef.width == NL80211_CHAN_WIDTH_40 && |
4224 | conf->chandef.center_freq1 < conf->chandef.chan->center_freq; | ||
4215 | } | 4225 | } |
4216 | 4226 | ||
4217 | static inline bool | 4227 | static inline bool |
4218 | conf_is_ht40_plus(struct ieee80211_conf *conf) | 4228 | conf_is_ht40_plus(struct ieee80211_conf *conf) |
4219 | { | 4229 | { |
4220 | return conf->channel_type == NL80211_CHAN_HT40PLUS; | 4230 | return conf->chandef.width == NL80211_CHAN_WIDTH_40 && |
4231 | conf->chandef.center_freq1 > conf->chandef.chan->center_freq; | ||
4221 | } | 4232 | } |
4222 | 4233 | ||
4223 | static inline bool | 4234 | static inline bool |
4224 | conf_is_ht40(struct ieee80211_conf *conf) | 4235 | conf_is_ht40(struct ieee80211_conf *conf) |
4225 | { | 4236 | { |
4226 | return conf_is_ht40_minus(conf) || conf_is_ht40_plus(conf); | 4237 | return conf->chandef.width == NL80211_CHAN_WIDTH_40; |
4227 | } | 4238 | } |
4228 | 4239 | ||
4229 | static inline bool | 4240 | static inline bool |
4230 | conf_is_ht(struct ieee80211_conf *conf) | 4241 | conf_is_ht(struct ieee80211_conf *conf) |
4231 | { | 4242 | { |
4232 | return conf->channel_type != NL80211_CHAN_NO_HT; | 4243 | return conf->chandef.width != NL80211_CHAN_WIDTH_20_NOHT; |
4233 | } | 4244 | } |
4234 | 4245 | ||
4235 | static inline enum nl80211_iftype | 4246 | static inline enum nl80211_iftype |