Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / include / net / cfg80211.h
index 24d5b58692721a8227490b97a9e4690ae81603ac..91f099556ac1dc5d9793476c1af77624fd30087c 100644 (file)
@@ -923,6 +923,7 @@ struct cfg80211_disassoc_request {
  * @privacy: this is a protected network, keys will be configured
  *     after joining
  * @basic_rates: bitmap of basic rates to use when creating the IBSS
+ * @mcast_rate: multicast tx rate (in 100 kbps)
  */
 struct cfg80211_ibss_params {
        u8 *ssid;
@@ -934,6 +935,7 @@ struct cfg80211_ibss_params {
        u32 basic_rates;
        bool channel_fixed;
        bool privacy;
+       int mcast_rate;
 };
 
 /**
@@ -1147,6 +1149,9 @@ struct cfg80211_pmksa {
  *     allows the driver to adjust the dynamic ps timeout value.
  * @set_cqm_rssi_config: Configure connection quality monitor RSSI threshold.
  *
+ * @mgmt_frame_register: Notify driver that a management frame type was
+ *     registered. Note that this callback may not sleep, and cannot run
+ *     concurrently with itself.
  */
 struct cfg80211_ops {
        int     (*suspend)(struct wiphy *wiphy);
@@ -1297,6 +1302,13 @@ struct cfg80211_ops {
        int     (*set_cqm_rssi_config)(struct wiphy *wiphy,
                                       struct net_device *dev,
                                       s32 rssi_thold, u32 rssi_hyst);
+
+       void    (*mgmt_frame_register)(struct wiphy *wiphy,
+                                      struct net_device *dev,
+                                      u16 frame_type, bool reg);
+
+       int     (*set_antenna)(struct wiphy *wiphy, u32 tx_ant, u32 rx_ant);
+       int     (*get_antenna)(struct wiphy *wiphy, u32 *tx_ant, u32 *rx_ant);
 };
 
 /*
@@ -1314,13 +1326,14 @@ struct cfg80211_ops {
  *     initiator is %REGDOM_SET_BY_CORE).
  * @WIPHY_FLAG_STRICT_REGULATORY: tells us the driver for this device will
  *     ignore regulatory domain settings until it gets its own regulatory
- *     domain via its regulatory_hint(). After its gets its own regulatory
- *     domain it will only allow further regulatory domain settings to
- *     further enhance compliance. For example if channel 13 and 14 are
- *     disabled by this regulatory domain no user regulatory domain can
- *     enable these channels at a later time. This can be used for devices
- *     which do not have calibration information gauranteed for frequencies
- *     or settings outside of its regulatory domain.
+ *     domain via its regulatory_hint() unless the regulatory hint is
+ *     from a country IE. After its gets its own regulatory domain it will
+ *     only allow further regulatory domain settings to further enhance
+ *     compliance. For example if channel 13 and 14 are disabled by this
+ *     regulatory domain no user regulatory domain can enable these channels
+ *     at a later time. This can be used for devices which do not have
+ *     calibration information guaranteed for frequencies or settings
+ *     outside of its regulatory domain.
  * @WIPHY_FLAG_DISABLE_BEACON_HINTS: enable this if your driver needs to ensure
  *     that passive scan flags and beaconing flags may not be lifted by
  *     cfg80211 due to regulatory beacon hints. For more information on beacon
@@ -1348,7 +1361,7 @@ enum wiphy_flags {
        WIPHY_FLAG_4ADDR_AP                     = BIT(5),
        WIPHY_FLAG_4ADDR_STATION                = BIT(6),
        WIPHY_FLAG_CONTROL_PORT_PROTOCOL        = BIT(7),
-       WIPHY_FLAG_IBSS_RSN                     = BIT(7),
+       WIPHY_FLAG_IBSS_RSN                     = BIT(8),
 };
 
 struct mac_address {