Search Linux Wireless

[RFC 2/6] mac80211: introduce new ieee80211_ops

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Introduces channel context callbacks. Channel on a
context channel is immutable. Channel type will be
changable later though, thus change_channel_type is
adveristed.

Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx>
---
 include/net/mac80211.h |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 75a613f..1e5722b 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -2262,6 +2262,18 @@ 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_channel_context: Notifies device driver about new channel
+ *	context creation.
+ * @remove_channel_context: Notifies device driver about channel context
+ *	destruction.
+ * @change_channel_type: 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_channel_context: Notifies device driver about channel
+ *	context being bound to vif. Possible use is for hw queue
+ *	remapping.
+ * @unassign_vif_channel_context: Notifies device driver about channel
+ *	context being unbound from vif.
  */
 struct ieee80211_ops {
 	void (*tx)(struct ieee80211_hw *hw, struct sk_buff *skb);
@@ -2401,6 +2413,19 @@ struct ieee80211_ops {
 	void	(*get_et_strings)(struct ieee80211_hw *hw,
 				  struct ieee80211_vif *vif,
 				  u32 sset, u8 *data);
+
+	void (*add_channel_context)(struct ieee80211_hw *hw,
+				    struct ieee80211_channel_context *ctx);
+	void (*remove_channel_context)(struct ieee80211_hw *hw,
+				       struct ieee80211_channel_context *ctx);
+	void (*change_channel_type)(struct ieee80211_hw *hw,
+				    struct ieee80211_channel_context *ctx);
+	void (*assign_vif_channel_context)(struct ieee80211_hw *hw,
+					   struct ieee80211_vif *vif,
+					   struct ieee80211_channel_context *ctx);
+	void (*unassign_vif_channel_context)(struct ieee80211_hw *hw,
+					     struct ieee80211_vif *vif,
+					     struct ieee80211_channel_context *ctx);
 };
 
 /**
-- 
1.7.0.4

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux