cfg80211/mac80211: Update set_tx_power to use mBm instead of dBm units
In preparation for a TX power setting interface in the nl80211, change the .set_tx_power function to use mBm units instead of dBm for greater accuracy and smaller power levels. Also, already in advance move the tx_power_setting enumeration to nl80211. This change affects the .tx_set_power function prototype. As a result, the corresponding changes are needed to modules using it. These are mac80211, iwmc3200wifi and rndis_wlan. Cc: Samuel Ortiz <samuel.ortiz@intel.com> Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com> Acked-by: Samuel Ortiz <samuel.ortiz@intel.com> Acked-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:

committed by
John W. Linville

parent
a185045c8d
commit
fa61cf70a6
@@ -829,7 +829,7 @@ int cfg80211_wext_siwtxpower(struct net_device *dev,
|
||||
{
|
||||
struct wireless_dev *wdev = dev->ieee80211_ptr;
|
||||
struct cfg80211_registered_device *rdev = wiphy_to_dev(wdev->wiphy);
|
||||
enum tx_power_setting type;
|
||||
enum nl80211_tx_power_setting type;
|
||||
int dbm = 0;
|
||||
|
||||
if ((data->txpower.flags & IW_TXPOW_TYPE) != IW_TXPOW_DBM)
|
||||
@@ -852,7 +852,7 @@ int cfg80211_wext_siwtxpower(struct net_device *dev,
|
||||
if (data->txpower.value < 0)
|
||||
return -EINVAL;
|
||||
dbm = data->txpower.value;
|
||||
type = TX_POWER_FIXED;
|
||||
type = NL80211_TX_POWER_FIXED;
|
||||
/* TODO: do regulatory check! */
|
||||
} else {
|
||||
/*
|
||||
@@ -860,10 +860,10 @@ int cfg80211_wext_siwtxpower(struct net_device *dev,
|
||||
* passed in from userland.
|
||||
*/
|
||||
if (data->txpower.value < 0) {
|
||||
type = TX_POWER_AUTOMATIC;
|
||||
type = NL80211_TX_POWER_AUTOMATIC;
|
||||
} else {
|
||||
dbm = data->txpower.value;
|
||||
type = TX_POWER_LIMITED;
|
||||
type = NL80211_TX_POWER_LIMITED;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -872,7 +872,7 @@ int cfg80211_wext_siwtxpower(struct net_device *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
return rdev->ops->set_tx_power(wdev->wiphy, type, dbm);
|
||||
return rdev->ops->set_tx_power(wdev->wiphy, type, DBM_TO_MBM(dbm));
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(cfg80211_wext_siwtxpower);
|
||||
|
||||
|
Reference in New Issue
Block a user