mac80211: rework the current tx power display patch
authorFelix Fietkau <nbd@openwrt.org>
Fri, 28 Sep 2012 18:29:02 +0000 (18:29 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Fri, 28 Sep 2012 18:29:02 +0000 (18:29 +0000)
SVN-Revision: 33584

package/mac80211/patches/520-mac80211_cur_txpower.patch
package/mac80211/patches/521-ath9k_cur_txpower.patch
package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch

index 3a22a1ad355453a47031d6f1ba0d156511b0f272..1b7348c08b337ebcbe7b42680f497bdf6bc8e0dc 100644 (file)
@@ -1,14 +1,13 @@
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -863,7 +863,7 @@ enum ieee80211_smps_mode {
-  */
- struct ieee80211_conf {
-       u32 flags;
--      int power_level, dynamic_ps_timeout;
-+      int cur_power_level, power_level, dynamic_ps_timeout;
      int max_sleep_period;
+@@ -1372,6 +1372,7 @@ struct ieee80211_hw {
+       u8 max_tx_aggregation_subframes;
+       u8 offchannel_tx_hw_queue;
+       u8 radiotap_mcs_details;
++      s8 cur_power_level;
+       netdev_features_t netdev_features;
};
  
-       u16 listen_interval;
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
 @@ -1969,7 +1969,7 @@ static int ieee80211_get_tx_power(struct
@@ -16,7 +15,7 @@
        struct ieee80211_local *local = wiphy_priv(wiphy);
  
 -      *dbm = local->hw.conf.power_level;
-+      *dbm = local->hw.conf.cur_power_level;
++      *dbm = local->hw.cur_power_level;
  
        return 0;
  }
@@ -26,7 +25,7 @@
  
        if (local->hw.conf.power_level != power) {
                changed |= IEEE80211_CONF_CHANGE_POWER;
-+              local->hw.conf.cur_power_level = power;
++              local->hw.cur_power_level = power;
                local->hw.conf.power_level = power;
        }
  
index 1cc4da23e6d62b26dce45392235041381af21d70..1133cfa6ba581170c06bf95b26b4a35d81427ce1 100644 (file)
@@ -4,7 +4,7 @@
                        return -EINVAL;
                }
  
-+              conf->cur_power_level = sc->curtxpow / 2;
++              hw->cur_power_level = sc->curtxpow / 2;
 +
                /*
                 * The most recent snapshot of channel->noisefloor for the old
@@ -13,7 +13,7 @@
                sc->config.txpowlimit = 2 * conf->power_level;
                ath9k_cmn_update_txpow(ah, sc->curtxpow,
                                       sc->config.txpowlimit, &sc->curtxpow);
-+              conf->cur_power_level = sc->curtxpow / 2;
++              hw->cur_power_level = sc->curtxpow / 2;
        }
  
        mutex_unlock(&sc->mutex);
index a966fef16e6ecf8f1db4ac6a29564cbb7d8a74dc..5f17c416ae85744ccf784e12af2af0d839e27d8d 100644 (file)
@@ -34,7 +34,7 @@
        return 0;
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -3718,7 +3718,7 @@ void ieee80211_send_bar(struct ieee80211
+@@ -3719,7 +3719,7 @@ void ieee80211_send_bar(struct ieee80211
   *    (deprecated; this will be removed once drivers get updated to use
   *    rate_idx_mask)
   * @rate_idx_mask: user-requested (legacy) rate mask
@@ -43,7 +43,7 @@
   * @bss: whether this frame is sent out in AP or IBSS mode
   */
  struct ieee80211_tx_rate_control {
-@@ -3730,7 +3730,7 @@ struct ieee80211_tx_rate_control {
+@@ -3731,7 +3731,7 @@ struct ieee80211_tx_rate_control {
        bool rts, short_preamble;
        u8 max_rate_idx;
        u32 rate_idx_mask;