diff options
author | Michal Kazior <michal.kazior@tieto.com> | 2012-06-26 08:37:17 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-16 14:22:42 -0400 |
commit | c3645eac479d9aaac9f8099c94bf681dc695dd34 (patch) | |
tree | f701eb4d7b3449d9f4672590f752081ea92f2009 /include/net | |
parent | d01a1e658606a0a69100f49c2ef09aacaf74d3e7 (diff) |
mac80211: introduce new ieee80211_ops
Introduce channel context driver methods. The channel
on a context channel is immutable, but the channel type
and other properties can change.
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/mac80211.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index ab1b5bafb568..d9d2119f0828 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -2353,6 +2353,16 @@ enum ieee80211_rate_control_changed { | |||
2353 | * The callback will be called before each transmission and upon return | 2353 | * The callback will be called before each transmission and upon return |
2354 | * mac80211 will transmit the frame right away. | 2354 | * mac80211 will transmit the frame right away. |
2355 | * The callback is optional and can (should!) sleep. | 2355 | * The callback is optional and can (should!) sleep. |
2356 | * | ||
2357 | * @add_chanctx: Notifies device driver about new channel context creation. | ||
2358 | * @remove_chanctx: Notifies device driver about channel context destruction. | ||
2359 | * @change_chanctx: Notifies device driver about channel context changes that | ||
2360 | * may happen when combining different virtual interfaces on the same | ||
2361 | * channel context with different settings | ||
2362 | * @assign_vif_chanctx: Notifies device driver about channel context being bound | ||
2363 | * to vif. Possible use is for hw queue remapping. | ||
2364 | * @unassign_vif_chanctx: Notifies device driver about channel context being | ||
2365 | * unbound from vif. | ||
2356 | */ | 2366 | */ |
2357 | struct ieee80211_ops { | 2367 | struct ieee80211_ops { |
2358 | void (*tx)(struct ieee80211_hw *hw, | 2368 | void (*tx)(struct ieee80211_hw *hw, |
@@ -2497,6 +2507,20 @@ struct ieee80211_ops { | |||
2497 | 2507 | ||
2498 | void (*mgd_prepare_tx)(struct ieee80211_hw *hw, | 2508 | void (*mgd_prepare_tx)(struct ieee80211_hw *hw, |
2499 | struct ieee80211_vif *vif); | 2509 | struct ieee80211_vif *vif); |
2510 | |||
2511 | int (*add_chanctx)(struct ieee80211_hw *hw, | ||
2512 | struct ieee80211_chanctx_conf *ctx); | ||
2513 | void (*remove_chanctx)(struct ieee80211_hw *hw, | ||
2514 | struct ieee80211_chanctx_conf *ctx); | ||
2515 | void (*change_chanctx)(struct ieee80211_hw *hw, | ||
2516 | struct ieee80211_chanctx_conf *ctx, | ||
2517 | u32 changed); | ||
2518 | int (*assign_vif_chanctx)(struct ieee80211_hw *hw, | ||
2519 | struct ieee80211_vif *vif, | ||
2520 | struct ieee80211_chanctx_conf *ctx); | ||
2521 | void (*unassign_vif_chanctx)(struct ieee80211_hw *hw, | ||
2522 | struct ieee80211_vif *vif, | ||
2523 | struct ieee80211_chanctx_conf *ctx); | ||
2500 | }; | 2524 | }; |
2501 | 2525 | ||
2502 | /** | 2526 | /** |