aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2012-03-16 13:45:25 -0400
committerJohn W. Linville <linville@tuxdriver.com>2012-03-16 13:45:25 -0400
commit01a282980937f9ca55a3cb06b9c6ff1cc49ea396 (patch)
tree07a043edc861e245a7a9764751af0898a1f1199a /include
parentd5ddb4a59ed43b4c569b4efa8b508d50ef140cc6 (diff)
parent377526578f2c343ea281a918b18ece1fca65005c (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
Conflicts: drivers/net/wireless/ath/ath9k/hw.c
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h10
-rw-r--r--include/net/cfg80211.h10
-rw-r--r--include/net/mac80211.h46
3 files changed, 19 insertions, 47 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index c37d67add090..e474f6e780cc 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -369,6 +369,11 @@
369 * %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT, 369 * %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT,
370 * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE and 370 * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE and
371 * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT. 371 * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT.
372 * Background scan period can optionally be
373 * specified in %NL80211_ATTR_BG_SCAN_PERIOD,
374 * if not specified default background scan configuration
375 * in driver is used and if period value is 0, bg scan will be disabled.
376 * This attribute is ignored if driver does not support roam scan.
372 * It is also sent as an event, with the BSSID and response IEs when the 377 * It is also sent as an event, with the BSSID and response IEs when the
373 * connection is established or failed to be established. This can be 378 * connection is established or failed to be established. This can be
374 * determined by the STATUS_CODE attribute. 379 * determined by the STATUS_CODE attribute.
@@ -1207,6 +1212,9 @@ enum nl80211_commands {
1207 * this attribute is (depending on the driver capabilities) added to 1212 * this attribute is (depending on the driver capabilities) added to
1208 * received frames indicated with %NL80211_CMD_FRAME. 1213 * received frames indicated with %NL80211_CMD_FRAME.
1209 * 1214 *
1215 * @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds
1216 * or 0 to disable background scan.
1217 *
1210 * @NL80211_ATTR_MAX: highest attribute number currently defined 1218 * @NL80211_ATTR_MAX: highest attribute number currently defined
1211 * @__NL80211_ATTR_AFTER_LAST: internal use 1219 * @__NL80211_ATTR_AFTER_LAST: internal use
1212 */ 1220 */
@@ -1456,6 +1464,8 @@ enum nl80211_attrs {
1456 1464
1457 NL80211_ATTR_RX_SIGNAL_DBM, 1465 NL80211_ATTR_RX_SIGNAL_DBM,
1458 1466
1467 NL80211_ATTR_BG_SCAN_PERIOD,
1468
1459 /* add attributes here, update the policy in nl80211.c */ 1469 /* add attributes here, update the policy in nl80211.c */
1460 1470
1461 __NL80211_ATTR_AFTER_LAST, 1471 __NL80211_ATTR_AFTER_LAST,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 57c9fddc2acf..69b7ad3a9925 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1203,6 +1203,8 @@ struct cfg80211_ibss_params {
1203 * @key_idx: index of WEP key for shared key authentication 1203 * @key_idx: index of WEP key for shared key authentication
1204 * @key: WEP key for shared key authentication 1204 * @key: WEP key for shared key authentication
1205 * @flags: See &enum cfg80211_assoc_req_flags 1205 * @flags: See &enum cfg80211_assoc_req_flags
1206 * @bg_scan_period: Background scan period in seconds
1207 * or -1 to indicate that default value is to be used.
1206 * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask 1208 * @ht_capa: HT Capabilities over-rides. Values set in ht_capa_mask
1207 * will be used in ht_capa. Un-supported values will be ignored. 1209 * will be used in ht_capa. Un-supported values will be ignored.
1208 * @ht_capa_mask: The bits of ht_capa which are to be used. 1210 * @ht_capa_mask: The bits of ht_capa which are to be used.
@@ -1220,6 +1222,7 @@ struct cfg80211_connect_params {
1220 const u8 *key; 1222 const u8 *key;
1221 u8 key_len, key_idx; 1223 u8 key_len, key_idx;
1222 u32 flags; 1224 u32 flags;
1225 int bg_scan_period;
1223 struct ieee80211_ht_cap ht_capa; 1226 struct ieee80211_ht_cap ht_capa;
1224 struct ieee80211_ht_cap ht_capa_mask; 1227 struct ieee80211_ht_cap ht_capa_mask;
1225}; 1228};
@@ -2694,7 +2697,7 @@ cfg80211_inform_bss_frame(struct wiphy *wiphy,
2694 * @wiphy: the wiphy reporting the BSS 2697 * @wiphy: the wiphy reporting the BSS
2695 * @channel: The channel the frame was received on 2698 * @channel: The channel the frame was received on
2696 * @bssid: the BSSID of the BSS 2699 * @bssid: the BSSID of the BSS
2697 * @timestamp: the TSF timestamp sent by the peer 2700 * @tsf: the TSF sent by the peer in the beacon/probe response (or 0)
2698 * @capability: the capability field sent by the peer 2701 * @capability: the capability field sent by the peer
2699 * @beacon_interval: the beacon interval announced by the peer 2702 * @beacon_interval: the beacon interval announced by the peer
2700 * @ie: additional IEs sent by the peer 2703 * @ie: additional IEs sent by the peer
@@ -2710,9 +2713,8 @@ cfg80211_inform_bss_frame(struct wiphy *wiphy,
2710struct cfg80211_bss * __must_check 2713struct cfg80211_bss * __must_check
2711cfg80211_inform_bss(struct wiphy *wiphy, 2714cfg80211_inform_bss(struct wiphy *wiphy,
2712 struct ieee80211_channel *channel, 2715 struct ieee80211_channel *channel,
2713 const u8 *bssid, 2716 const u8 *bssid, u64 tsf, u16 capability,
2714 u64 timestamp, u16 capability, u16 beacon_interval, 2717 u16 beacon_interval, const u8 *ie, size_t ielen,
2715 const u8 *ie, size_t ielen,
2716 s32 signal, gfp_t gfp); 2718 s32 signal, gfp_t gfp);
2717 2719
2718struct cfg80211_bss *cfg80211_get_bss(struct wiphy *wiphy, 2720struct cfg80211_bss *cfg80211_get_bss(struct wiphy *wiphy,
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index f7917f765cbc..9a012be615ff 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -229,7 +229,8 @@ enum ieee80211_rssi_event {
229 * valid in station mode only while @assoc is true and if also 229 * valid in station mode only while @assoc is true and if also
230 * requested by %IEEE80211_HW_NEED_DTIM_PERIOD (cf. also hw conf 230 * requested by %IEEE80211_HW_NEED_DTIM_PERIOD (cf. also hw conf
231 * @ps_dtim_period) 231 * @ps_dtim_period)
232 * @timestamp: beacon timestamp 232 * @last_tsf: last beacon's/probe response's TSF timestamp (could be old
233 * as it may have been received during scanning long ago)
233 * @beacon_int: beacon interval 234 * @beacon_int: beacon interval
234 * @assoc_capability: capabilities taken from assoc resp 235 * @assoc_capability: capabilities taken from assoc resp
235 * @basic_rates: bitmap of basic rates, each bit stands for an 236 * @basic_rates: bitmap of basic rates, each bit stands for an
@@ -276,7 +277,7 @@ struct ieee80211_bss_conf {
276 u8 dtim_period; 277 u8 dtim_period;
277 u16 beacon_int; 278 u16 beacon_int;
278 u16 assoc_capability; 279 u16 assoc_capability;
279 u64 timestamp; 280 u64 last_tsf;
280 u32 basic_rates; 281 u32 basic_rates;
281 int mcast_rate[IEEE80211_NUM_BANDS]; 282 int mcast_rate[IEEE80211_NUM_BANDS];
282 u16 ht_operation_mode; 283 u16 ht_operation_mode;
@@ -1766,20 +1767,6 @@ enum ieee80211_ampdu_mlme_action {
1766}; 1767};
1767 1768
1768/** 1769/**
1769 * enum ieee80211_tx_sync_type - TX sync type
1770 * @IEEE80211_TX_SYNC_AUTH: sync TX for authentication
1771 * (and possibly also before direct probe)
1772 * @IEEE80211_TX_SYNC_ASSOC: sync TX for association
1773 * @IEEE80211_TX_SYNC_ACTION: sync TX for action frame
1774 * (not implemented yet)
1775 */
1776enum ieee80211_tx_sync_type {
1777 IEEE80211_TX_SYNC_AUTH,
1778 IEEE80211_TX_SYNC_ASSOC,
1779 IEEE80211_TX_SYNC_ACTION,
1780};
1781
1782/**
1783 * enum ieee80211_frame_release_type - frame release reason 1770 * enum ieee80211_frame_release_type - frame release reason
1784 * @IEEE80211_FRAME_RELEASE_PSPOLL: frame released for PS-Poll 1771 * @IEEE80211_FRAME_RELEASE_PSPOLL: frame released for PS-Poll
1785 * @IEEE80211_FRAME_RELEASE_UAPSD: frame(s) released due to 1772 * @IEEE80211_FRAME_RELEASE_UAPSD: frame(s) released due to
@@ -1889,26 +1876,6 @@ enum ieee80211_frame_release_type {
1889 * of the bss parameters has changed when a call is made. The callback 1876 * of the bss parameters has changed when a call is made. The callback
1890 * can sleep. 1877 * can sleep.
1891 * 1878 *
1892 * @tx_sync: Called before a frame is sent to an AP/GO. In the GO case, the
1893 * driver should sync with the GO's powersaving so the device doesn't
1894 * transmit the frame while the GO is asleep. In the regular AP case
1895 * it may be used by drivers for devices implementing other restrictions
1896 * on talking to APs, e.g. due to regulatory enforcement or just HW
1897 * restrictions.
1898 * This function is called for every authentication, association and
1899 * action frame separately since applications might attempt to auth
1900 * with multiple APs before chosing one to associate to. If it returns
1901 * an error, the corresponding authentication, association or frame
1902 * transmission is aborted and reported as having failed. It is always
1903 * called after tuning to the correct channel.
1904 * The callback might be called multiple times before @finish_tx_sync
1905 * (but @finish_tx_sync will be called once for each) but in practice
1906 * this is unlikely to happen. It can also refuse in that case if the
1907 * driver cannot handle that situation.
1908 * This callback can sleep.
1909 * @finish_tx_sync: Called as a counterpart to @tx_sync, unless that returned
1910 * an error. This callback can sleep.
1911 *
1912 * @prepare_multicast: Prepare for multicast filter configuration. 1879 * @prepare_multicast: Prepare for multicast filter configuration.
1913 * This callback is optional, and its return value is passed 1880 * This callback is optional, and its return value is passed
1914 * to configure_filter(). This callback must be atomic. 1881 * to configure_filter(). This callback must be atomic.
@@ -2180,13 +2147,6 @@ struct ieee80211_ops {
2180 struct ieee80211_bss_conf *info, 2147 struct ieee80211_bss_conf *info,
2181 u32 changed); 2148 u32 changed);
2182 2149
2183 int (*tx_sync)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
2184 const u8 *bssid, enum ieee80211_tx_sync_type type);
2185 void (*finish_tx_sync)(struct ieee80211_hw *hw,
2186 struct ieee80211_vif *vif,
2187 const u8 *bssid,
2188 enum ieee80211_tx_sync_type type);
2189
2190 u64 (*prepare_multicast)(struct ieee80211_hw *hw, 2150 u64 (*prepare_multicast)(struct ieee80211_hw *hw,
2191 struct netdev_hw_addr_list *mc_list);