aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorBruno Randolf <br1@einfach.org>2011-01-24 23:15:33 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-01-28 15:44:26 -0500
commit5719efdde1d0ae8670b96eb8748d1a0dc6a37be2 (patch)
treeb5cd960b7a5ca7b09d35a438915837cff748ea09 /drivers/net/wireless
parent20a904904dc69d4b4de26c146af33eb00f05ab92 (diff)
ath: Add function to check if 4.9GHz channels are allowed
This adds a helper function to ath/regd.c which can be asked if 4.9GHz channels are allowed for a given regulatory domain code. This keeps the knowledge of regdomains and defines like MKK9_MKKC in one place. I'm passing the regdomain code instead of the ath_regulatory structure because this needs to be called quite early in the driver inititalization where ath_regulatory is not available yet in ath5k. I'm using MKK9_MKKC only because this is the regdomain in the 802.11j enabled sample cards we got from our vendor. I found some hints in HAL code that this is used by Atheros to indicate 4.9GHz channels support and that there might be other domain codes as well, but as I don't have any documentation I'm just putting in what I need right now. It can be extended later. Signed-off-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/ath/regd.c7
-rw-r--r--drivers/net/wireless/ath/regd.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/regd.c b/drivers/net/wireless/ath/regd.c
index 2b14775e6bc6..f828f294ba89 100644
--- a/drivers/net/wireless/ath/regd.c
+++ b/drivers/net/wireless/ath/regd.c
@@ -158,6 +158,13 @@ ieee80211_regdomain *ath_world_regdomain(struct ath_regulatory *reg)
158 } 158 }
159} 159}
160 160
161bool ath_is_49ghz_allowed(u16 regdomain)
162{
163 /* possibly more */
164 return regdomain == MKK9_MKKC;
165}
166EXPORT_SYMBOL(ath_is_49ghz_allowed);
167
161/* Frequency is one where radar detection is required */ 168/* Frequency is one where radar detection is required */
162static bool ath_is_radar_freq(u16 center_freq) 169static bool ath_is_radar_freq(u16 center_freq)
163{ 170{
diff --git a/drivers/net/wireless/ath/regd.h b/drivers/net/wireless/ath/regd.h
index 345dd9721b41..172f63f671cf 100644
--- a/drivers/net/wireless/ath/regd.h
+++ b/drivers/net/wireless/ath/regd.h
@@ -250,6 +250,7 @@ enum CountryCode {
250}; 250};
251 251
252bool ath_is_world_regd(struct ath_regulatory *reg); 252bool ath_is_world_regd(struct ath_regulatory *reg);
253bool ath_is_49ghz_allowed(u16 redomain);
253int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy, 254int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
254 int (*reg_notifier)(struct wiphy *wiphy, 255 int (*reg_notifier)(struct wiphy *wiphy,
255 struct regulatory_request *request)); 256 struct regulatory_request *request));