[ARM] pxa: add pxa320 missing pin function for CS2 on GPIO3
[firefly-linux-kernel-4.4.55.git] / include / net / cfg80211.h
index a0c0bf19496ca40d3a6a6e2fa5b9c2bed2ba3487..23c0ab74ded63bfbc9f57a36751872be3e195f77 100644 (file)
@@ -169,6 +169,9 @@ struct station_parameters {
  * @STATION_INFO_LLID: @llid filled
  * @STATION_INFO_PLID: @plid filled
  * @STATION_INFO_PLINK_STATE: @plink_state filled
+ * @STATION_INFO_SIGNAL: @signal filled
+ * @STATION_INFO_TX_BITRATE: @tx_bitrate fields are filled
+ *  (tx_bitrate, tx_bitrate_flags and tx_bitrate_mcs)
  */
 enum station_info_flags {
        STATION_INFO_INACTIVE_TIME      = 1<<0,
@@ -177,6 +180,39 @@ enum station_info_flags {
        STATION_INFO_LLID               = 1<<3,
        STATION_INFO_PLID               = 1<<4,
        STATION_INFO_PLINK_STATE        = 1<<5,
+       STATION_INFO_SIGNAL             = 1<<6,
+       STATION_INFO_TX_BITRATE         = 1<<7,
+};
+
+/**
+ * enum station_info_rate_flags - bitrate info flags
+ *
+ * Used by the driver to indicate the specific rate transmission
+ * type for 802.11n transmissions.
+ *
+ * @RATE_INFO_FLAGS_MCS: @tx_bitrate_mcs filled
+ * @RATE_INFO_FLAGS_40_MHZ_WIDTH: 40 Mhz width transmission
+ * @RATE_INFO_FLAGS_SHORT_GI: 400ns guard interval
+ */
+enum rate_info_flags {
+       RATE_INFO_FLAGS_MCS             = 1<<0,
+       RATE_INFO_FLAGS_40_MHZ_WIDTH    = 1<<1,
+       RATE_INFO_FLAGS_SHORT_GI        = 1<<2,
+};
+
+/**
+ * struct rate_info - bitrate information
+ *
+ * Information about a receiving or transmitting bitrate
+ *
+ * @flags: bitflag of flags from &enum rate_info_flags
+ * @mcs: mcs index if struct describes a 802.11n bitrate
+ * @legacy: bitrate in 100kbit/s for 802.11abg
+ */
+struct rate_info {
+       u8 flags;
+       u8 mcs;
+       u16 legacy;
 };
 
 /**
@@ -191,6 +227,8 @@ enum station_info_flags {
  * @llid: mesh local link id
  * @plid: mesh peer link id
  * @plink_state: mesh peer link state
+ * @signal: signal strength of last received packet in dBm
+ * @txrate: current unicast bitrate to this station
  */
 struct station_info {
        u32 filled;
@@ -200,6 +238,8 @@ struct station_info {
        u16 llid;
        u16 plid;
        u8 plink_state;
+       s8 signal;
+       struct rate_info txrate;
 };
 
 /**
@@ -523,7 +563,7 @@ struct cfg80211_ops {
 
        int     (*set_channel)(struct wiphy *wiphy,
                               struct ieee80211_channel *chan,
-                              enum nl80211_sec_chan_offset);
+                              enum nl80211_channel_type channel_type);
 };
 
 /* temporary wext handlers */