openwrt/package/mac80211/patches/614-rt2x00-of_load_eeprom_f...

29 lines
719 B
Diff

--- a/drivers/net/wireless/rt2x00/rt2800pci.c
+++ b/drivers/net/wireless/rt2x00/rt2800pci.c
@@ -39,6 +39,7 @@
#include <linux/pci.h>
#include <linux/platform_device.h>
#include <linux/eeprom_93cx6.h>
+#include <linux/of.h>
#include "rt2x00.h"
#include "rt2x00mmio.h"
@@ -323,11 +324,17 @@ static int rt2800pci_write_firmware(stru
static char *rt2800pci_get_eeprom_file_name(struct rt2x00_dev *rt2x00dev)
{
struct rt2x00_platform_data *pdata;
+ struct device_node *np;
+ char *eep;
pdata = rt2x00dev->dev->platform_data;
if (pdata)
return pdata->eeprom_file_name;
+ np = rt2x00dev->dev->of_node;
+ if (np && !of_property_read_string(np, "ralink,eeprom", &eep))
+ return eep;
+
return NULL;
}