aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2010-10-15 16:11:56 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-10-15 16:11:56 -0400
commitc64557d666eb62eb5f296c6b93bd0a5525ed1e36 (patch)
tree1e25cc32521d06ae876de18bb8e48b3cf9d30808 /include/net
parent1a63c353c856c9f6d44a533afb6ad6dbbcdea683 (diff)
parent0d91f22b75347d9503b17a42b6c74d3f7750acd6 (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Diffstat (limited to 'include/net')
-rw-r--r--include/net/cfg80211.h31
-rw-r--r--include/net/mac80211.h9
2 files changed, 37 insertions, 3 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 0778d04b3bbe..2a7936d7851d 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -294,6 +294,11 @@ struct key_params {
294 * 294 *
295 * @SURVEY_INFO_NOISE_DBM: noise (in dBm) was filled in 295 * @SURVEY_INFO_NOISE_DBM: noise (in dBm) was filled in
296 * @SURVEY_INFO_IN_USE: channel is currently being used 296 * @SURVEY_INFO_IN_USE: channel is currently being used
297 * @SURVEY_INFO_CHANNEL_TIME: channel active time (in ms) was filled in
298 * @SURVEY_INFO_CHANNEL_TIME_BUSY: channel busy time was filled in
299 * @SURVEY_INFO_CHANNEL_TIME_EXT_BUSY: extension channel busy time was filled in
300 * @SURVEY_INFO_CHANNEL_TIME_RX: channel receive time was filled in
301 * @SURVEY_INFO_CHANNEL_TIME_TX: channel transmit time was filled in
297 * 302 *
298 * Used by the driver to indicate which info in &struct survey_info 303 * Used by the driver to indicate which info in &struct survey_info
299 * it has filled in during the get_survey(). 304 * it has filled in during the get_survey().
@@ -301,6 +306,11 @@ struct key_params {
301enum survey_info_flags { 306enum survey_info_flags {
302 SURVEY_INFO_NOISE_DBM = 1<<0, 307 SURVEY_INFO_NOISE_DBM = 1<<0,
303 SURVEY_INFO_IN_USE = 1<<1, 308 SURVEY_INFO_IN_USE = 1<<1,
309 SURVEY_INFO_CHANNEL_TIME = 1<<2,
310 SURVEY_INFO_CHANNEL_TIME_BUSY = 1<<3,
311 SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = 1<<4,
312 SURVEY_INFO_CHANNEL_TIME_RX = 1<<5,
313 SURVEY_INFO_CHANNEL_TIME_TX = 1<<6,
304}; 314};
305 315
306/** 316/**
@@ -310,6 +320,11 @@ enum survey_info_flags {
310 * @filled: bitflag of flags from &enum survey_info_flags 320 * @filled: bitflag of flags from &enum survey_info_flags
311 * @noise: channel noise in dBm. This and all following fields are 321 * @noise: channel noise in dBm. This and all following fields are
312 * optional 322 * optional
323 * @channel_time: amount of time in ms the radio spent on the channel
324 * @channel_time_busy: amount of time the primary channel was sensed busy
325 * @channel_time_ext_busy: amount of time the extension channel was sensed busy
326 * @channel_time_rx: amount of time the radio spent receiving data
327 * @channel_time_tx: amount of time the radio spent transmitting data
313 * 328 *
314 * Used by dump_survey() to report back per-channel survey information. 329 * Used by dump_survey() to report back per-channel survey information.
315 * 330 *
@@ -318,6 +333,11 @@ enum survey_info_flags {
318 */ 333 */
319struct survey_info { 334struct survey_info {
320 struct ieee80211_channel *channel; 335 struct ieee80211_channel *channel;
336 u64 channel_time;
337 u64 channel_time_busy;
338 u64 channel_time_ext_busy;
339 u64 channel_time_rx;
340 u64 channel_time_tx;
321 u32 filled; 341 u32 filled;
322 s8 noise; 342 s8 noise;
323}; 343};
@@ -403,6 +423,7 @@ struct station_parameters {
403 * @STATION_INFO_TX_PACKETS: @tx_packets filled 423 * @STATION_INFO_TX_PACKETS: @tx_packets filled
404 * @STATION_INFO_TX_RETRIES: @tx_retries filled 424 * @STATION_INFO_TX_RETRIES: @tx_retries filled
405 * @STATION_INFO_TX_FAILED: @tx_failed filled 425 * @STATION_INFO_TX_FAILED: @tx_failed filled
426 * @STATION_INFO_RX_DROP_MISC: @rx_dropped_misc filled
406 */ 427 */
407enum station_info_flags { 428enum station_info_flags {
408 STATION_INFO_INACTIVE_TIME = 1<<0, 429 STATION_INFO_INACTIVE_TIME = 1<<0,
@@ -417,6 +438,7 @@ enum station_info_flags {
417 STATION_INFO_TX_PACKETS = 1<<9, 438 STATION_INFO_TX_PACKETS = 1<<9,
418 STATION_INFO_TX_RETRIES = 1<<10, 439 STATION_INFO_TX_RETRIES = 1<<10,
419 STATION_INFO_TX_FAILED = 1<<11, 440 STATION_INFO_TX_FAILED = 1<<11,
441 STATION_INFO_RX_DROP_MISC = 1<<12,
420}; 442};
421 443
422/** 444/**
@@ -468,6 +490,7 @@ struct rate_info {
468 * @tx_packets: packets transmitted to this station 490 * @tx_packets: packets transmitted to this station
469 * @tx_retries: cumulative retry counts 491 * @tx_retries: cumulative retry counts
470 * @tx_failed: number of failed transmissions (retries exceeded, no ACK) 492 * @tx_failed: number of failed transmissions (retries exceeded, no ACK)
493 * @rx_dropped_misc: Dropped for un-specified reason.
471 * @generation: generation number for nl80211 dumps. 494 * @generation: generation number for nl80211 dumps.
472 * This number should increase every time the list of stations 495 * This number should increase every time the list of stations
473 * changes, i.e. when a station is added or removed, so that 496 * changes, i.e. when a station is added or removed, so that
@@ -487,6 +510,7 @@ struct station_info {
487 u32 tx_packets; 510 u32 tx_packets;
488 u32 tx_retries; 511 u32 tx_retries;
489 u32 tx_failed; 512 u32 tx_failed;
513 u32 rx_dropped_misc;
490 514
491 int generation; 515 int generation;
492}; 516};
@@ -1123,6 +1147,9 @@ struct cfg80211_pmksa {
1123 * allows the driver to adjust the dynamic ps timeout value. 1147 * allows the driver to adjust the dynamic ps timeout value.
1124 * @set_cqm_rssi_config: Configure connection quality monitor RSSI threshold. 1148 * @set_cqm_rssi_config: Configure connection quality monitor RSSI threshold.
1125 * 1149 *
1150 * @mgmt_frame_register: Notify driver that a management frame type was
1151 * registered. Note that this callback may not sleep, and cannot run
1152 * concurrently with itself.
1126 */ 1153 */
1127struct cfg80211_ops { 1154struct cfg80211_ops {
1128 int (*suspend)(struct wiphy *wiphy); 1155 int (*suspend)(struct wiphy *wiphy);
@@ -1273,6 +1300,10 @@ struct cfg80211_ops {
1273 int (*set_cqm_rssi_config)(struct wiphy *wiphy, 1300 int (*set_cqm_rssi_config)(struct wiphy *wiphy,
1274 struct net_device *dev, 1301 struct net_device *dev,
1275 s32 rssi_thold, u32 rssi_hyst); 1302 s32 rssi_thold, u32 rssi_hyst);
1303
1304 void (*mgmt_frame_register)(struct wiphy *wiphy,
1305 struct net_device *dev,
1306 u16 frame_type, bool reg);
1276}; 1307};
1277 1308
1278/* 1309/*
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 33aa2e39147b..9fdf982d1286 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -1478,12 +1478,14 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw,
1478 * honour this flag if possible. 1478 * honour this flag if possible.
1479 * 1479 *
1480 * @FIF_CONTROL: pass control frames (except for PS Poll), if PROMISC_IN_BSS 1480 * @FIF_CONTROL: pass control frames (except for PS Poll), if PROMISC_IN_BSS
1481 * is not set then only those addressed to this station. 1481 * is not set then only those addressed to this station.
1482 * 1482 *
1483 * @FIF_OTHER_BSS: pass frames destined to other BSSes 1483 * @FIF_OTHER_BSS: pass frames destined to other BSSes
1484 * 1484 *
1485 * @FIF_PSPOLL: pass PS Poll frames, if PROMISC_IN_BSS is not set then only 1485 * @FIF_PSPOLL: pass PS Poll frames, if PROMISC_IN_BSS is not set then only
1486 * those addressed to this station. 1486 * those addressed to this station.
1487 *
1488 * @FIF_PROBE_REQ: pass probe request frames
1487 */ 1489 */
1488enum ieee80211_filter_flags { 1490enum ieee80211_filter_flags {
1489 FIF_PROMISC_IN_BSS = 1<<0, 1491 FIF_PROMISC_IN_BSS = 1<<0,
@@ -1494,6 +1496,7 @@ enum ieee80211_filter_flags {
1494 FIF_CONTROL = 1<<5, 1496 FIF_CONTROL = 1<<5,
1495 FIF_OTHER_BSS = 1<<6, 1497 FIF_OTHER_BSS = 1<<6,
1496 FIF_PSPOLL = 1<<7, 1498 FIF_PSPOLL = 1<<7,
1499 FIF_PROBE_REQ = 1<<8,
1497}; 1500};
1498 1501
1499/** 1502/**