ath5k: replace modparam_all_channels with CONFIG_ATH5K_TEST_CHANNELS
authorLuis R. Rodriguez <mcgrof@qca.qualcomm.com>
Fri, 6 Jul 2012 22:21:51 +0000 (15:21 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 11 Jul 2012 19:40:23 +0000 (15:40 -0400)
This stashes away this feature from standard kernel builds.

Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath5k/Kconfig
drivers/net/wireless/ath/ath5k/base.c

index e18a9aa7b6ca3d2c854c92a2715d51823a915c99..338c5c42357df7fa9e9f0e2db4dedddeaaae9d61 100644 (file)
@@ -64,3 +64,11 @@ config ATH5K_PCI
        ---help---
          This adds support for PCI type chipsets of the 5xxx Atheros
          family.
+
+config ATH5K_TEST_CHANNELS
+       bool "Enables testing channels on ath5k"
+       depends on ATH5K && CFG80211_CERTIFICATION_ONUS
+       ---help---
+         This enables non-standard IEEE 802.11 channels on ath5k, which
+         can be used for research purposes. This option should be disabled
+         unless doing research.
index 44ad6fe0278f410ce51019a24c13ee996a0f71bb..8c4c040a47b8cf69e75b4f022dafc3542f2ae908 100644 (file)
@@ -74,10 +74,6 @@ bool ath5k_modparam_nohwcrypt;
 module_param_named(nohwcrypt, ath5k_modparam_nohwcrypt, bool, S_IRUGO);
 MODULE_PARM_DESC(nohwcrypt, "Disable hardware encryption.");
 
-static bool modparam_all_channels;
-module_param_named(all_channels, modparam_all_channels, bool, S_IRUGO);
-MODULE_PARM_DESC(all_channels, "Expose all channels the device can use.");
-
 static bool modparam_fastchanswitch;
 module_param_named(fastchanswitch, modparam_fastchanswitch, bool, S_IRUGO);
 MODULE_PARM_DESC(fastchanswitch, "Enable fast channel switching for AR2413/AR5413 radios.");
@@ -258,8 +254,15 @@ static int ath5k_reg_notifier(struct wiphy *wiphy, struct regulatory_request *re
 \********************/
 
 /*
- * Returns true for the channel numbers used without all_channels modparam.
+ * Returns true for the channel numbers used.
  */
+#ifdef CONFIG_ATH5K_TEST_CHANNELS
+static bool ath5k_is_standard_channel(short chan, enum ieee80211_band band)
+{
+       return true;
+}
+
+#else
 static bool ath5k_is_standard_channel(short chan, enum ieee80211_band band)
 {
        if (band == IEEE80211_BAND_2GHZ && chan <= 14)
@@ -276,6 +279,7 @@ static bool ath5k_is_standard_channel(short chan, enum ieee80211_band band)
                /* 802.11j 4.9GHz (20MHz) */
                (chan == 184 || chan == 188 || chan == 192 || chan == 196));
 }
+#endif
 
 static unsigned int
 ath5k_setup_channels(struct ath5k_hw *ah, struct ieee80211_channel *channels,
@@ -316,8 +320,7 @@ ath5k_setup_channels(struct ath5k_hw *ah, struct ieee80211_channel *channels,
                if (!ath5k_channel_ok(ah, &channels[count]))
                        continue;
 
-               if (!modparam_all_channels &&
-                   !ath5k_is_standard_channel(ch, band))
+               if (!ath5k_is_standard_channel(ch, band))
                        continue;
 
                count++;