ath9k: convert isWwrSKU macro into C code
Write isWwrSKU as an inline function and nix the camel-case to make the routine slightly clearer. Change its argument to take the regd value directly so it can eventually be used by ath5k as well. Signed-off-by: Bob Copeland <me@bobcopeland.com> Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
e775aaf07a
commit
d0f48f9d1f
@@ -106,6 +106,12 @@ static const struct ieee80211_regdomain ath9k_world_regdom_67_68_6A = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static inline bool is_wwr_sku(u16 regd)
|
||||||
|
{
|
||||||
|
return ((regd & WORLD_SKU_MASK) == WORLD_SKU_PREFIX) ||
|
||||||
|
(regd == WORLD);
|
||||||
|
}
|
||||||
|
|
||||||
static u16 ath9k_regd_get_eepromRD(struct ath_hw *ah)
|
static u16 ath9k_regd_get_eepromRD(struct ath_hw *ah)
|
||||||
{
|
{
|
||||||
return ah->regulatory.current_rd & ~WORLDWIDE_ROAMING_FLAG;
|
return ah->regulatory.current_rd & ~WORLDWIDE_ROAMING_FLAG;
|
||||||
@@ -118,7 +124,7 @@ u16 ath9k_regd_get_rd(struct ath_hw *ah)
|
|||||||
|
|
||||||
bool ath9k_is_world_regd(struct ath_hw *ah)
|
bool ath9k_is_world_regd(struct ath_hw *ah)
|
||||||
{
|
{
|
||||||
return isWwrSKU(ah);
|
return is_wwr_sku(ath9k_regd_get_eepromRD(ah));
|
||||||
}
|
}
|
||||||
|
|
||||||
const struct ieee80211_regdomain *ath9k_default_world_regdomain(void)
|
const struct ieee80211_regdomain *ath9k_default_world_regdomain(void)
|
||||||
@@ -463,7 +469,8 @@ u32 ath9k_regd_get_ctl(struct ath_hw *ah, struct ath9k_channel *chan)
|
|||||||
u32 ctl = NO_CTL;
|
u32 ctl = NO_CTL;
|
||||||
|
|
||||||
if (!ah->regulatory.regpair ||
|
if (!ah->regulatory.regpair ||
|
||||||
(ah->regulatory.country_code == CTRY_DEFAULT && isWwrSKU(ah))) {
|
(ah->regulatory.country_code == CTRY_DEFAULT &&
|
||||||
|
is_wwr_sku(ath9k_regd_get_eepromRD(ah)))) {
|
||||||
if (IS_CHAN_B(chan))
|
if (IS_CHAN_B(chan))
|
||||||
ctl = SD_NO_CTL | CTL_11B;
|
ctl = SD_NO_CTL | CTL_11B;
|
||||||
else if (IS_CHAN_G(chan))
|
else if (IS_CHAN_G(chan))
|
||||||
|
@@ -20,11 +20,6 @@
|
|||||||
#define COUNTRY_ERD_FLAG 0x8000
|
#define COUNTRY_ERD_FLAG 0x8000
|
||||||
#define WORLDWIDE_ROAMING_FLAG 0x4000
|
#define WORLDWIDE_ROAMING_FLAG 0x4000
|
||||||
|
|
||||||
#define isWwrSKU(_ah) \
|
|
||||||
(((ath9k_regd_get_eepromRD((_ah)) & WORLD_SKU_MASK) == \
|
|
||||||
WORLD_SKU_PREFIX) || \
|
|
||||||
(ath9k_regd_get_eepromRD(_ah) == WORLD))
|
|
||||||
|
|
||||||
#define MULTI_DOMAIN_MASK 0xFF00
|
#define MULTI_DOMAIN_MASK 0xFF00
|
||||||
|
|
||||||
#define WORLD_SKU_MASK 0x00F0
|
#define WORLD_SKU_MASK 0x00F0
|
||||||
|
Reference in New Issue
Block a user