aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2009-02-12 13:38:55 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:51:47 -0500
commitd0f48f9d1fa9ad01effdf280cda944c6eb518f59 (patch)
tree10425e36539d25207140dd979c346ae227264b86 /drivers/net/wireless
parente775aaf07a72eafdb352a984d820612dd76eab8c (diff)
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>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath9k/regd.c11
-rw-r--r--drivers/net/wireless/ath9k/regd.h5
2 files changed, 9 insertions, 7 deletions
diff --git a/drivers/net/wireless/ath9k/regd.c b/drivers/net/wireless/ath9k/regd.c
index 99994626081..979351540e6 100644
--- a/drivers/net/wireless/ath9k/regd.c
+++ b/drivers/net/wireless/ath9k/regd.c
@@ -106,6 +106,12 @@ static const struct ieee80211_regdomain ath9k_world_regdom_67_68_6A = {
106 } 106 }
107}; 107};
108 108
109static inline bool is_wwr_sku(u16 regd)
110{
111 return ((regd & WORLD_SKU_MASK) == WORLD_SKU_PREFIX) ||
112 (regd == WORLD);
113}
114
109static u16 ath9k_regd_get_eepromRD(struct ath_hw *ah) 115static u16 ath9k_regd_get_eepromRD(struct ath_hw *ah)
110{ 116{
111 return ah->regulatory.current_rd & ~WORLDWIDE_ROAMING_FLAG; 117 return ah->regulatory.current_rd & ~WORLDWIDE_ROAMING_FLAG;
@@ -118,7 +124,7 @@ u16 ath9k_regd_get_rd(struct ath_hw *ah)
118 124
119bool ath9k_is_world_regd(struct ath_hw *ah) 125bool ath9k_is_world_regd(struct ath_hw *ah)
120{ 126{
121 return isWwrSKU(ah); 127 return is_wwr_sku(ath9k_regd_get_eepromRD(ah));
122} 128}
123 129
124const struct ieee80211_regdomain *ath9k_default_world_regdomain(void) 130const 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)
463 u32 ctl = NO_CTL; 469 u32 ctl = NO_CTL;
464 470
465 if (!ah->regulatory.regpair || 471 if (!ah->regulatory.regpair ||
466 (ah->regulatory.country_code == CTRY_DEFAULT && isWwrSKU(ah))) { 472 (ah->regulatory.country_code == CTRY_DEFAULT &&
473 is_wwr_sku(ath9k_regd_get_eepromRD(ah)))) {
467 if (IS_CHAN_B(chan)) 474 if (IS_CHAN_B(chan))
468 ctl = SD_NO_CTL | CTL_11B; 475 ctl = SD_NO_CTL | CTL_11B;
469 else if (IS_CHAN_G(chan)) 476 else if (IS_CHAN_G(chan))
diff --git a/drivers/net/wireless/ath9k/regd.h b/drivers/net/wireless/ath9k/regd.h
index 53a9f4627f3..8f0bfcc907b 100644
--- a/drivers/net/wireless/ath9k/regd.h
+++ b/drivers/net/wireless/ath9k/regd.h
@@ -20,11 +20,6 @@
20#define COUNTRY_ERD_FLAG 0x8000 20#define COUNTRY_ERD_FLAG 0x8000
21#define WORLDWIDE_ROAMING_FLAG 0x4000 21#define WORLDWIDE_ROAMING_FLAG 0x4000
22 22
23#define isWwrSKU(_ah) \
24 (((ath9k_regd_get_eepromRD((_ah)) & WORLD_SKU_MASK) == \
25 WORLD_SKU_PREFIX) || \
26 (ath9k_regd_get_eepromRD(_ah) == WORLD))
27
28#define MULTI_DOMAIN_MASK 0xFF00 23#define MULTI_DOMAIN_MASK 0xFF00
29 24
30#define WORLD_SKU_MASK 0x00F0 25#define WORLD_SKU_MASK 0x00F0