summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2014-08-25 06:36:01 +0000
committerJohn Crispin <john@openwrt.org>2014-08-25 06:36:01 +0000
commitbbcf1fa610aa0029b58c0c2c69c03f8ac1f9160d (patch)
treeb2b9e0fb7b03b976313175d1c0e05297a4da728e
parent67cf439237f631a21c5cc8bbdafb4d1d370f28d4 (diff)
downloadmaster-31e0f0ae-bbcf1fa610aa0029b58c0c2c69c03f8ac1f9160d.tar.gz
master-31e0f0ae-bbcf1fa610aa0029b58c0c2c69c03f8ac1f9160d.tar.bz2
master-31e0f0ae-bbcf1fa610aa0029b58c0c2c69c03f8ac1f9160d.zip
mac80211/rt2x00: allow disabling bands through dts
Add dts property ralink,2ghz and ralink,5ghz e.g. disable 2ghz band: wmac@10180000 { status = "okay"; ralink,2ghz = <0>; } Signed-off-by: Alexander Couzens <lynxis@fe80.eu> SVN-Revision: 42281
-rw-r--r--package/kernel/mac80211/patches/609-rt2x00-allow_disabling_bands_through_dts.patch27
1 files changed, 27 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/609-rt2x00-allow_disabling_bands_through_dts.patch b/package/kernel/mac80211/patches/609-rt2x00-allow_disabling_bands_through_dts.patch
new file mode 100644
index 0000000000..63a8641464
--- /dev/null
+++ b/package/kernel/mac80211/patches/609-rt2x00-allow_disabling_bands_through_dts.patch
@@ -0,0 +1,27 @@
+--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
++++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
+@@ -26,6 +26,7 @@
+ #include <linux/module.h>
+ #include <linux/slab.h>
+ #include <linux/log2.h>
++#include <linux/of.h>
+
+ #include "rt2x00.h"
+ #include "rt2x00lib.h"
+@@ -951,6 +952,16 @@ static int rt2x00lib_probe_hw_modes(stru
+ struct ieee80211_rate *rates;
+ unsigned int num_rates;
+ unsigned int i;
++#ifdef CONFIG_OF
++ struct device_node *np = rt2x00dev->dev->of_node;
++ unsigned int enabled;
++ if (!of_property_read_u32(np, "ralink,2ghz",
++ &enabled) && !enabled)
++ spec->supported_bands &= ~SUPPORT_BAND_2GHZ;
++ if (!of_property_read_u32(np, "ralink,5ghz",
++ &enabled) && !enabled)
++ spec->supported_bands &= ~SUPPORT_BAND_5GHZ;
++#endif /* CONFIG_OF */
+
+ if (rt2x00dev->dev->platform_data) {
+ struct rt2x00_platform_data *pdata;