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
lede-17.01
John Crispin 2014-08-25 06:36:01 +00:00
parent 67cf439237
commit bbcf1fa610
1 changed files with 27 additions and 0 deletions

View File

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