summaryrefslogtreecommitdiffstats
path: root/include/net/wireless.h
diff options
context:
space:
mode:
authorLuis R. Rodriguez2009-01-23 00:05:44 +0100
committerJohn W. Linville2009-01-29 22:01:14 +0100
commit1fa25e413659f943dfec65da2abe713d566c7fdf (patch)
tree7de278f35b33c2bf35f4964e0b5381a6f029dff5 /include/net/wireless.h
parentmac80211: Add capability to enable/disable beaconing (diff)
downloadkernel-qcow2-linux-1fa25e413659f943dfec65da2abe713d566c7fdf.tar.gz
kernel-qcow2-linux-1fa25e413659f943dfec65da2abe713d566c7fdf.tar.xz
kernel-qcow2-linux-1fa25e413659f943dfec65da2abe713d566c7fdf.zip
cfg80211: add wiphy_apply_custom_regulatory()
This adds wiphy_apply_custom_regulatory() to be used by drivers prior to wiphy registration to apply a custom regulatory domain. This can be used by drivers that do not have a direct 1-1 mapping between a regulatory domain and a country. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include/net/wireless.h')
-rw-r--r--include/net/wireless.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/net/wireless.h b/include/net/wireless.h
index 6c5b08204232..c5538b923afb 100644
--- a/include/net/wireless.h
+++ b/include/net/wireless.h
@@ -401,4 +401,21 @@ extern void regulatory_hint(struct wiphy *wiphy, const char *alpha2);
extern void regulatory_hint_11d(struct wiphy *wiphy,
u8 *country_ie,
u8 country_ie_len);
+
+/**
+ * wiphy_apply_custom_regulatory - apply a custom driver regulatory domain
+ * @wiphy: the wireless device we want to process the regulatory domain on
+ * @regd: the custom regulatory domain to use for this wiphy
+ *
+ * Drivers can sometimes have custom regulatory domains which do not apply
+ * to a specific country. Drivers can use this to apply such custom regulatory
+ * domains. This routine must be called prior to wiphy registration. The
+ * custom regulatory domain will be trusted completely and as such previous
+ * default channel settings will be disregarded. If no rule is found for a
+ * channel on the regulatory domain the channel will be disabled.
+ */
+extern void wiphy_apply_custom_regulatory(
+ struct wiphy *wiphy,
+ const struct ieee80211_regdomain *regd);
+
#endif /* __NET_WIRELESS_H */