diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 5f28b7f89887..34e8569b59bb 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -464,12 +464,32 @@ static inline int __deprecated __IEEE80211_CONF_SHORT_SLOT_TIME(void) | |||
464 | #define IEEE80211_CONF_SHORT_SLOT_TIME (__IEEE80211_CONF_SHORT_SLOT_TIME()) | 464 | #define IEEE80211_CONF_SHORT_SLOT_TIME (__IEEE80211_CONF_SHORT_SLOT_TIME()) |
465 | 465 | ||
466 | /** | 466 | /** |
467 | * enum ieee80211_conf_changed - denotes which configuration changed | ||
468 | * | ||
469 | * @IEEE80211_CONF_CHANGE_RADIO_ENABLED: the value of radio_enabled changed | ||
470 | * @IEEE80211_CONF_CHANGE_BEACON_INTERVAL: the beacon interval changed | ||
471 | * @IEEE80211_CONF_CHANGE_LISTEN_INTERVAL: the listen interval changed | ||
472 | * @IEEE80211_CONF_CHANGE_RADIOTAP: the radiotap flag changed | ||
473 | * @IEEE80211_CONF_CHANGE_PS: the PS flag changed | ||
474 | * @IEEE80211_CONF_CHANGE_POWER: the TX power changed | ||
475 | * @IEEE80211_CONF_CHANGE_CHANNEL: the channel changed | ||
476 | */ | ||
477 | enum ieee80211_conf_changed { | ||
478 | IEEE80211_CONF_CHANGE_RADIO_ENABLED = BIT(0), | ||
479 | IEEE80211_CONF_CHANGE_BEACON_INTERVAL = BIT(1), | ||
480 | IEEE80211_CONF_CHANGE_LISTEN_INTERVAL = BIT(2), | ||
481 | IEEE80211_CONF_CHANGE_RADIOTAP = BIT(3), | ||
482 | IEEE80211_CONF_CHANGE_PS = BIT(4), | ||
483 | IEEE80211_CONF_CHANGE_POWER = BIT(5), | ||
484 | IEEE80211_CONF_CHANGE_CHANNEL = BIT(6), | ||
485 | }; | ||
486 | |||
487 | /** | ||
467 | * struct ieee80211_conf - configuration of the device | 488 | * struct ieee80211_conf - configuration of the device |
468 | * | 489 | * |
469 | * This struct indicates how the driver shall configure the hardware. | 490 | * This struct indicates how the driver shall configure the hardware. |
470 | * | 491 | * |
471 | * @radio_enabled: when zero, driver is required to switch off the radio. | 492 | * @radio_enabled: when zero, driver is required to switch off the radio. |
472 | * TODO make a flag | ||
473 | * @beacon_int: beacon interval (TODO make interface config) | 493 | * @beacon_int: beacon interval (TODO make interface config) |
474 | * @listen_interval: listen interval in units of beacon interval | 494 | * @listen_interval: listen interval in units of beacon interval |
475 | * @flags: configuration flags defined above | 495 | * @flags: configuration flags defined above |
@@ -479,13 +499,13 @@ static inline int __deprecated __IEEE80211_CONF_SHORT_SLOT_TIME(void) | |||
479 | * @channel: the channel to tune to | 499 | * @channel: the channel to tune to |
480 | */ | 500 | */ |
481 | struct ieee80211_conf { | 501 | struct ieee80211_conf { |
482 | int radio_enabled; | ||
483 | |||
484 | int beacon_int; | 502 | int beacon_int; |
485 | u16 listen_interval; | ||
486 | u32 flags; | 503 | u32 flags; |
487 | int power_level; | 504 | int power_level; |
488 | 505 | ||
506 | u16 listen_interval; | ||
507 | bool radio_enabled; | ||
508 | |||
489 | struct ieee80211_channel *channel; | 509 | struct ieee80211_channel *channel; |
490 | 510 | ||
491 | struct ieee80211_sta_ht_cap ht_cap; | 511 | struct ieee80211_sta_ht_cap ht_cap; |
@@ -1214,7 +1234,7 @@ struct ieee80211_ops { | |||
1214 | struct ieee80211_if_init_conf *conf); | 1234 | struct ieee80211_if_init_conf *conf); |
1215 | void (*remove_interface)(struct ieee80211_hw *hw, | 1235 | void (*remove_interface)(struct ieee80211_hw *hw, |
1216 | struct ieee80211_if_init_conf *conf); | 1236 | struct ieee80211_if_init_conf *conf); |
1217 | int (*config)(struct ieee80211_hw *hw, struct ieee80211_conf *conf); | 1237 | int (*config)(struct ieee80211_hw *hw, u32 changed); |
1218 | int (*config_interface)(struct ieee80211_hw *hw, | 1238 | int (*config_interface)(struct ieee80211_hw *hw, |
1219 | struct ieee80211_vif *vif, | 1239 | struct ieee80211_vif *vif, |
1220 | struct ieee80211_if_conf *conf); | 1240 | struct ieee80211_if_conf *conf); |