34 lines
820 B
Diff
34 lines
820 B
Diff
--- 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)
|