Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
[deliverable/linux.git] / include / net / mac80211.h
index 95e39b6a02ec924ab1229e728ddb4bd45ff3d682..6914f9978aea0347da19c485d296492624dc9a8b 100644 (file)
@@ -1297,6 +1297,10 @@ enum ieee80211_hw_flags {
  *     reports, by default it is set to _MCS, _GI and _BW but doesn't
  *     include _FMT. Use %IEEE80211_RADIOTAP_MCS_HAVE_* values, only
  *     adding _BW is supported today.
+ *
+ * @netdev_features: netdev features to be set in each netdev created
+ *     from this HW. Note only HW checksum features are currently
+ *     compatible with mac80211. Other feature bits will be rejected.
  */
 struct ieee80211_hw {
        struct ieee80211_conf conf;
@@ -1319,6 +1323,7 @@ struct ieee80211_hw {
        u8 max_tx_aggregation_subframes;
        u8 offchannel_tx_hw_queue;
        u8 radiotap_mcs_details;
+       netdev_features_t netdev_features;
 };
 
 /**
@@ -2183,7 +2188,10 @@ enum ieee80211_rate_control_changed {
  *     offload. Frames to transmit on the off-channel channel are transmitted
  *     normally except for the %IEEE80211_TX_CTL_TX_OFFCHAN flag. When the
  *     duration (which will always be non-zero) expires, the driver must call
- *     ieee80211_remain_on_channel_expired(). This callback may sleep.
+ *     ieee80211_remain_on_channel_expired().
+ *     Note that this callback may be called while the device is in IDLE and
+ *     must be accepted in this case.
+ *     This callback may sleep.
  * @cancel_remain_on_channel: Requests that an ongoing off-channel period is
  *     aborted before it expires. This callback may sleep.
  *
@@ -3556,16 +3564,6 @@ void ieee80211_cqm_rssi_notify(struct ieee80211_vif *vif,
                               enum nl80211_cqm_rssi_threshold_event rssi_event,
                               gfp_t gfp);
 
-/**
- * ieee80211_get_operstate - get the operstate of the vif
- *
- * @vif: &struct ieee80211_vif pointer from the add_interface callback.
- *
- * The driver might need to know the operstate of the net_device
- * (specifically, whether the link is IF_OPER_UP after resume)
- */
-unsigned char ieee80211_get_operstate(struct ieee80211_vif *vif);
-
 /**
  * ieee80211_chswitch_done - Complete channel switch process
  * @vif: &struct ieee80211_vif pointer from the add_interface callback.
@@ -3845,4 +3843,28 @@ int ieee80211_add_ext_srates_ie(struct ieee80211_vif *vif,
  */
 int ieee80211_ave_rssi(struct ieee80211_vif *vif);
 
+/* Extra debugging macros */
+
+#ifdef CONFIG_MAC80211_HT_DEBUG
+#define ht_vdbg(fmt, ...)                      \
+       pr_debug(fmt, ##__VA_ARGS__)
+#else
+#define ht_vdbg(fmt, ...)                      \
+do {                                           \
+       if (0)                                  \
+               pr_debug(fmt, ##__VA_ARGS__);   \
+} while (0)
+#endif
+
+#ifdef CONFIG_MAC80211_IBSS_DEBUG
+#define ibss_vdbg(fmt, ...)                    \
+       pr_debug(fmt, ##__VA_ARGS__)
+#else
+#define ibss_vdbg(fmt, ...)                    \
+do {                                           \
+       if (0)                                  \
+               pr_debug(fmt, ##__VA_ARGS__);   \
+} while (0)
+#endif
+
 #endif /* MAC80211_H */
This page took 0.038311 seconds and 5 git commands to generate.