]> Pileus Git - ~andy/linux/commitdiff
ath: Add function to check if 4.9GHz channels are allowed
authorBruno Randolf <br1@einfach.org>
Tue, 25 Jan 2011 04:15:33 +0000 (13:15 +0900)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 28 Jan 2011 20:44:26 +0000 (15:44 -0500)
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>
drivers/net/wireless/ath/regd.c
drivers/net/wireless/ath/regd.h

index 2b14775e6bc63adc44e5a46faa790123f97271bf..f828f294ba89f90efc966db7ec922739b8767980 100644 (file)
@@ -158,6 +158,13 @@ ieee80211_regdomain *ath_world_regdomain(struct ath_regulatory *reg)
        }
 }
 
+bool ath_is_49ghz_allowed(u16 regdomain)
+{
+       /* possibly more */
+       return regdomain == MKK9_MKKC;
+}
+EXPORT_SYMBOL(ath_is_49ghz_allowed);
+
 /* Frequency is one where radar detection is required */
 static bool ath_is_radar_freq(u16 center_freq)
 {
index 345dd9721b415972d82d8309ce04aeec6c6bbc37..172f63f671cff13ba1ec728b933caddeff41d6b9 100644 (file)
@@ -250,6 +250,7 @@ enum CountryCode {
 };
 
 bool ath_is_world_regd(struct ath_regulatory *reg);
+bool ath_is_49ghz_allowed(u16 redomain);
 int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
                  int (*reg_notifier)(struct wiphy *wiphy,
                  struct regulatory_request *request));