Просмотр исходного кода

ath9k: make the regulatory override less intrusive - allow it to parse CTLs

SVN-Revision: 23539
Felix Fietkau 15 лет назад
Родитель
Сommit
edb7be2e2b
1 измененных файлов с 35 добавлено и 57 удалено
  1. 35 57
      package/mac80211/patches/404-ath_regd_optional.patch

+ 35 - 57
package/mac80211/patches/404-ath_regd_optional.patch

@@ -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