|
|
@@ -1,68 +1,46 @@
|
|
|
--- a/drivers/net/wireless/ath/regd.c
|
|
|
+++ b/drivers/net/wireless/ath/regd.c
|
|
|
-@@ -18,6 +18,9 @@
|
|
|
- #include <net/cfg80211.h>
|
|
|
- #include <net/mac80211.h>
|
|
|
- #include "regd.h"
|
|
|
-+
|
|
|
-+#ifndef ATH_USER_REGD
|
|
|
-+
|
|
|
- #include "regd_common.h"
|
|
|
+@@ -185,6 +185,10 @@ ath_reg_apply_beaconing_flags(struct wip
|
|
|
+ u32 bandwidth = 0;
|
|
|
+ int r;
|
|
|
|
|
|
- /*
|
|
|
-@@ -587,3 +590,5 @@ u32 ath_regd_get_band_ctl(struct ath_reg
|
|
|
- }
|
|
|
- }
|
|
|
- EXPORT_SYMBOL(ath_regd_get_band_ctl);
|
|
|
-+
|
|
|
++#ifdef ATH_USER_REGD
|
|
|
++ return;
|
|
|
+#endif
|
|
|
---- a/drivers/net/wireless/ath/regd.h
|
|
|
-+++ b/drivers/net/wireless/ath/regd.h
|
|
|
-@@ -249,6 +249,41 @@ enum CountryCode {
|
|
|
- CTRY_BELGIUM2 = 5002
|
|
|
- };
|
|
|
++
|
|
|
+ for (band = 0; band < IEEE80211_NUM_BANDS; band++) {
|
|
|
+
|
|
|
+ if (!wiphy->bands[band])
|
|
|
+@@ -244,6 +248,10 @@ ath_reg_apply_active_scan_flags(struct w
|
|
|
+ u32 bandwidth = 0;
|
|
|
+ int r;
|
|
|
|
|
|
+#ifdef ATH_USER_REGD
|
|
|
++ return;
|
|
|
++#endif
|
|
|
+
|
|
|
-+static inline bool
|
|
|
-+ath_is_world_regd(struct ath_regulatory *reg)
|
|
|
-+{
|
|
|
-+ return true;
|
|
|
-+}
|
|
|
-+
|
|
|
-+static inline int
|
|
|
-+ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
|
|
|
-+ int (*reg_notifier)(struct wiphy *wiphy,
|
|
|
-+ struct regulatory_request *request))
|
|
|
-+{
|
|
|
-+ return 0;
|
|
|
-+}
|
|
|
-+
|
|
|
-+
|
|
|
-+static inline u32
|
|
|
-+ath_regd_get_band_ctl(struct ath_regulatory *reg,
|
|
|
-+ enum ieee80211_band band)
|
|
|
-+{
|
|
|
-+ return SD_NO_CTL;
|
|
|
-+}
|
|
|
+ sband = wiphy->bands[IEEE80211_BAND_2GHZ];
|
|
|
+
|
|
|
+ /*
|
|
|
+@@ -291,6 +299,10 @@ static void ath_reg_apply_radar_flags(st
|
|
|
+ struct ieee80211_channel *ch;
|
|
|
+ unsigned int i;
|
|
|
+
|
|
|
++#ifdef ATH_USER_REGD
|
|
|
++ return;
|
|
|
++#endif
|
|
|
+
|
|
|
-+static inline int
|
|
|
-+ath_reg_notifier_apply(struct wiphy *wiphy,
|
|
|
-+ struct regulatory_request *request,
|
|
|
-+ struct ath_regulatory *reg)
|
|
|
-+{
|
|
|
+ if (!wiphy->bands[IEEE80211_BAND_5GHZ])
|
|
|
+ return;
|
|
|
+
|
|
|
+@@ -449,6 +461,10 @@ ath_regd_init_wiphy(struct ath_regulator
|
|
|
+ {
|
|
|
+ const struct ieee80211_regdomain *regd;
|
|
|
+
|
|
|
++#ifdef ATH_USER_REGD
|
|
|
+ return 0;
|
|
|
-+}
|
|
|
-+
|
|
|
-+
|
|
|
-+#else
|
|
|
++#endif
|
|
|
+
|
|
|
- bool ath_is_world_regd(struct ath_regulatory *reg);
|
|
|
- int ath_regd_init(struct ath_regulatory *reg, struct wiphy *wiphy,
|
|
|
- int (*reg_notifier)(struct wiphy *wiphy,
|
|
|
-@@ -260,3 +295,5 @@ int ath_reg_notifier_apply(struct wiphy
|
|
|
- struct ath_regulatory *reg);
|
|
|
+ wiphy->reg_notifier = reg_notifier;
|
|
|
+ wiphy->flags |= WIPHY_FLAG_STRICT_REGULATORY;
|
|
|
|
|
|
- #endif
|
|
|
-+
|
|
|
-+#endif
|