AA: mac80211: backport package from trunk r39886
[12.09/openwrt.git] / package / mac80211 / patches / 604-rt2x00-of_load_eeprom_filename.patch
diff --git a/package/mac80211/patches/604-rt2x00-of_load_eeprom_filename.patch b/package/mac80211/patches/604-rt2x00-of_load_eeprom_filename.patch
new file mode 100644 (file)
index 0000000..4bc6f37
--- /dev/null
@@ -0,0 +1,33 @@
+--- a/drivers/net/wireless/rt2x00/rt2x00eeprom.c
++++ b/drivers/net/wireless/rt2x00/rt2x00eeprom.c
+@@ -26,6 +26,7 @@
+ #include <linux/kernel.h>
+ #include <linux/module.h>
++#include <linux/of.h>
+ #include "rt2x00.h"
+ #include "rt2x00lib.h"
+@@ -34,11 +35,21 @@ static const char *
+ rt2x00lib_get_eeprom_file_name(struct rt2x00_dev *rt2x00dev)
+ {
+       struct rt2x00_platform_data *pdata = rt2x00dev->dev->platform_data;
++#ifdef CONFIG_OF
++      struct device_node *np;
++      const char *eep;
++#endif
+       if (pdata && pdata->eeprom_file_name)
+               return pdata->eeprom_file_name;
+-      return NULL
++#ifdef CONFIG_OF
++      np = rt2x00dev->dev->of_node;
++      if (np && of_property_read_string(np, "ralink,eeprom", &eep) == 0)
++          return eep;
++#endif
++
++      return NULL;
+ }
+ static int rt2x00lib_request_eeprom_file(struct rt2x00_dev *rt2x00dev)