28 lines
		
	
	
		
			929 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			929 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c
 | 
						|
+++ b/drivers/net/wireless/ralink/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;
 |