mac80211: remove user_power_level from driver API
I missed this during review of "mac80211: Fix tx power setting", the user_power_level shouldn't be available to the driver but rather be an internal value used to calculate the value for the driver. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Cc: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
8465676241
commit
2bf30fabad
|
@ -546,7 +546,6 @@ enum ieee80211_conf_changed {
|
||||||
* @listen_interval: listen interval in units of beacon interval
|
* @listen_interval: listen interval in units of beacon interval
|
||||||
* @flags: configuration flags defined above
|
* @flags: configuration flags defined above
|
||||||
* @power_level: requested transmit power (in dBm)
|
* @power_level: requested transmit power (in dBm)
|
||||||
* @user_power_level: User configured transmit power (in dBm)
|
|
||||||
* @channel: the channel to tune to
|
* @channel: the channel to tune to
|
||||||
* @ht: the HT configuration for the device
|
* @ht: the HT configuration for the device
|
||||||
* @long_frame_max_tx_count: Maximum number of transmissions for a "long" frame
|
* @long_frame_max_tx_count: Maximum number of transmissions for a "long" frame
|
||||||
|
@ -560,7 +559,6 @@ struct ieee80211_conf {
|
||||||
int beacon_int;
|
int beacon_int;
|
||||||
u32 flags;
|
u32 flags;
|
||||||
int power_level;
|
int power_level;
|
||||||
int user_power_level;
|
|
||||||
|
|
||||||
u16 listen_interval;
|
u16 listen_interval;
|
||||||
bool radio_enabled;
|
bool radio_enabled;
|
||||||
|
|
|
@ -705,6 +705,8 @@ struct ieee80211_local {
|
||||||
struct work_struct dynamic_ps_disable_work;
|
struct work_struct dynamic_ps_disable_work;
|
||||||
struct timer_list dynamic_ps_timer;
|
struct timer_list dynamic_ps_timer;
|
||||||
|
|
||||||
|
int user_power_level; /* in dBm */
|
||||||
|
|
||||||
#ifdef CONFIG_MAC80211_DEBUGFS
|
#ifdef CONFIG_MAC80211_DEBUGFS
|
||||||
struct local_debugfsdentries {
|
struct local_debugfsdentries {
|
||||||
struct dentry *rcdir;
|
struct dentry *rcdir;
|
||||||
|
|
|
@ -214,10 +214,10 @@ int ieee80211_hw_config(struct ieee80211_local *local, u32 changed)
|
||||||
changed |= IEEE80211_CONF_CHANGE_CHANNEL;
|
changed |= IEEE80211_CONF_CHANGE_CHANNEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!local->hw.conf.user_power_level)
|
if (!local->user_power_level)
|
||||||
power = chan->max_power;
|
power = chan->max_power;
|
||||||
else
|
else
|
||||||
power = min(chan->max_power, local->hw.conf.user_power_level);
|
power = min(chan->max_power, local->user_power_level);
|
||||||
if (local->hw.conf.power_level != power) {
|
if (local->hw.conf.power_level != power) {
|
||||||
changed |= IEEE80211_CONF_CHANGE_POWER;
|
changed |= IEEE80211_CONF_CHANGE_POWER;
|
||||||
local->hw.conf.power_level = power;
|
local->hw.conf.power_level = power;
|
||||||
|
|
|
@ -551,7 +551,7 @@ static int ieee80211_ioctl_siwtxpower(struct net_device *dev,
|
||||||
else /* Automatic power level setting */
|
else /* Automatic power level setting */
|
||||||
new_power_level = chan->max_power;
|
new_power_level = chan->max_power;
|
||||||
|
|
||||||
local->hw.conf.user_power_level = new_power_level;
|
local->user_power_level = new_power_level;
|
||||||
if (local->hw.conf.power_level != new_power_level)
|
if (local->hw.conf.power_level != new_power_level)
|
||||||
reconf_flags |= IEEE80211_CONF_CHANGE_POWER;
|
reconf_flags |= IEEE80211_CONF_CHANGE_POWER;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue