diff options
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r-- | include/net/mac80211.h | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 2a1811366076..f91fc331369b 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -1242,8 +1242,8 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw, | |||
1242 | * %IEEE80211_CONF_PS flag enabled means that the powersave mode defined in | 1242 | * %IEEE80211_CONF_PS flag enabled means that the powersave mode defined in |
1243 | * IEEE 802.11-2007 section 11.2 is enabled. This is not to be confused | 1243 | * IEEE 802.11-2007 section 11.2 is enabled. This is not to be confused |
1244 | * with hardware wakeup and sleep states. Driver is responsible for waking | 1244 | * with hardware wakeup and sleep states. Driver is responsible for waking |
1245 | * up the hardware before issueing commands to the hardware and putting it | 1245 | * up the hardware before issuing commands to the hardware and putting it |
1246 | * back to sleep at approriate times. | 1246 | * back to sleep at appropriate times. |
1247 | * | 1247 | * |
1248 | * When PS is enabled, hardware needs to wakeup for beacons and receive the | 1248 | * When PS is enabled, hardware needs to wakeup for beacons and receive the |
1249 | * buffered multicast/broadcast frames after the beacon. Also it must be | 1249 | * buffered multicast/broadcast frames after the beacon. Also it must be |
@@ -1264,7 +1264,7 @@ ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw, | |||
1264 | * there's data traffic and still saving significantly power in idle | 1264 | * there's data traffic and still saving significantly power in idle |
1265 | * periods. | 1265 | * periods. |
1266 | * | 1266 | * |
1267 | * Dynamic powersave is supported by simply mac80211 enabling and disabling | 1267 | * Dynamic powersave is simply supported by mac80211 enabling and disabling |
1268 | * PS based on traffic. Driver needs to only set %IEEE80211_HW_SUPPORTS_PS | 1268 | * PS based on traffic. Driver needs to only set %IEEE80211_HW_SUPPORTS_PS |
1269 | * flag and mac80211 will handle everything automatically. Additionally, | 1269 | * flag and mac80211 will handle everything automatically. Additionally, |
1270 | * hardware having support for the dynamic PS feature may set the | 1270 | * hardware having support for the dynamic PS feature may set the |
@@ -1537,6 +1537,12 @@ enum ieee80211_ampdu_mlme_action { | |||
1537 | * negative error code (which will be seen in userspace.) | 1537 | * negative error code (which will be seen in userspace.) |
1538 | * Must be implemented and can sleep. | 1538 | * Must be implemented and can sleep. |
1539 | * | 1539 | * |
1540 | * @change_interface: Called when a netdevice changes type. This callback | ||
1541 | * is optional, but only if it is supported can interface types be | ||
1542 | * switched while the interface is UP. The callback may sleep. | ||
1543 | * Note that while an interface is being switched, it will not be | ||
1544 | * found by the interface iteration callbacks. | ||
1545 | * | ||
1540 | * @remove_interface: Notifies a driver that an interface is going down. | 1546 | * @remove_interface: Notifies a driver that an interface is going down. |
1541 | * The @stop callback is called after this if it is the last interface | 1547 | * The @stop callback is called after this if it is the last interface |
1542 | * and no monitor interfaces are present. | 1548 | * and no monitor interfaces are present. |
@@ -1693,6 +1699,9 @@ struct ieee80211_ops { | |||
1693 | void (*stop)(struct ieee80211_hw *hw); | 1699 | void (*stop)(struct ieee80211_hw *hw); |
1694 | int (*add_interface)(struct ieee80211_hw *hw, | 1700 | int (*add_interface)(struct ieee80211_hw *hw, |
1695 | struct ieee80211_vif *vif); | 1701 | struct ieee80211_vif *vif); |
1702 | int (*change_interface)(struct ieee80211_hw *hw, | ||
1703 | struct ieee80211_vif *vif, | ||
1704 | enum nl80211_iftype new_type); | ||
1696 | void (*remove_interface)(struct ieee80211_hw *hw, | 1705 | void (*remove_interface)(struct ieee80211_hw *hw, |
1697 | struct ieee80211_vif *vif); | 1706 | struct ieee80211_vif *vif); |
1698 | int (*config)(struct ieee80211_hw *hw, u32 changed); | 1707 | int (*config)(struct ieee80211_hw *hw, u32 changed); |
@@ -2268,7 +2277,8 @@ void ieee80211_wake_queues(struct ieee80211_hw *hw); | |||
2268 | * | 2277 | * |
2269 | * When hardware scan offload is used (i.e. the hw_scan() callback is | 2278 | * When hardware scan offload is used (i.e. the hw_scan() callback is |
2270 | * assigned) this function needs to be called by the driver to notify | 2279 | * assigned) this function needs to be called by the driver to notify |
2271 | * mac80211 that the scan finished. | 2280 | * mac80211 that the scan finished. This function can be called from |
2281 | * any context, including hardirq context. | ||
2272 | * | 2282 | * |
2273 | * @hw: the hardware that finished the scan | 2283 | * @hw: the hardware that finished the scan |
2274 | * @aborted: set to true if scan was aborted | 2284 | * @aborted: set to true if scan was aborted |
@@ -2458,7 +2468,7 @@ void ieee80211_sta_block_awake(struct ieee80211_hw *hw, | |||
2458 | * | 2468 | * |
2459 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. | 2469 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. |
2460 | * | 2470 | * |
2461 | * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTERING and | 2471 | * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTER and |
2462 | * %IEEE80211_CONF_PS is set, the driver needs to inform whenever the | 2472 | * %IEEE80211_CONF_PS is set, the driver needs to inform whenever the |
2463 | * hardware is not receiving beacons with this function. | 2473 | * hardware is not receiving beacons with this function. |
2464 | */ | 2474 | */ |
@@ -2469,7 +2479,7 @@ void ieee80211_beacon_loss(struct ieee80211_vif *vif); | |||
2469 | * | 2479 | * |
2470 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. | 2480 | * @vif: &struct ieee80211_vif pointer from the add_interface callback. |
2471 | * | 2481 | * |
2472 | * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTERING, and | 2482 | * When beacon filtering is enabled with %IEEE80211_HW_BEACON_FILTER, and |
2473 | * %IEEE80211_CONF_PS and %IEEE80211_HW_CONNECTION_MONITOR are set, the driver | 2483 | * %IEEE80211_CONF_PS and %IEEE80211_HW_CONNECTION_MONITOR are set, the driver |
2474 | * needs to inform if the connection to the AP has been lost. | 2484 | * needs to inform if the connection to the AP has been lost. |
2475 | * | 2485 | * |