[RFC v3 2/7] mac80211: introduce new ieee80211_ops
From: Michal Kazior <hidden>
Date: 2012-06-26 12:37:27
Subsystem:
mac80211, the rest · Maintainers:
Johannes Berg, Linus Torvalds
From: Kazior Michal <redacted> Introduces channel context callbacks. Channel on a context channel is immutable. Channel type will be changable later though, thus change_chantype is adveristed. Signed-off-by: Michal Kazior <redacted> --- include/net/mac80211.h | 22 ++++++++++++++++++++++ 1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index d64fa82..1cdce79 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h@@ -2279,6 +2279,15 @@ enum ieee80211_rate_control_changed { * @get_et_strings: Ethtool API to get a set of strings to describe stats * and perhaps other supported types of ethtool data-sets. * + * @add_chanctx: Notifies device driver about new channel context creation. + * @remove_chanctx: Notifies device driver about channel context destruction. + * @change_chantype: Notifies device driver about channel context channel_type + * change which may happen when combining different vifs on a same channel + * with different HTs. + * @assign_vif_chanctx: Notifies device driver about channel context being bound + * to vif. Possible use is for hw queue remapping. + * @unassign_vif_chanctx: Notifies device driver about channel context being + * unbound from vif. */ struct ieee80211_ops { void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb);
@@ -2418,6 +2427,19 @@ struct ieee80211_ops { void (*get_et_strings)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, u32 sset, u8 *data); + + void (*add_chanctx)(struct ieee80211_hw *hw, + struct ieee80211_chanctx_conf *ctx); + void (*remove_chanctx)(struct ieee80211_hw *hw, + struct ieee80211_chanctx_conf *ctx); + void (*change_chantype)(struct ieee80211_hw *hw, + struct ieee80211_chanctx_conf *ctx); + void (*assign_vif_chanctx)(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + struct ieee80211_chanctx_conf *ctx); + void (*unassign_vif_chanctx)(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + struct ieee80211_chanctx_conf *ctx); }; /**
--
1.7.0.4