mac80211/rt2x00: allow disabling bands through dts
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 25 Aug 2014 06:36:01 +0000 (06:36 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Mon, 25 Aug 2014 06:36:01 +0000 (06:36 +0000)
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>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42281 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/kernel/mac80211/patches/609-rt2x00-allow_disabling_bands_through_dts.patch [new file with mode: 0644]

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 (file)
index 0000000..63a8641
--- /dev/null
@@ -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;