mac80211: fix symbol dependency of rt2x00lib kernel module
authorSven Over <sp@cedenti.st>
Sun, 23 Feb 2020 19:26:46 +0000 (14:26 -0500)
committerDaniel Golle <daniel@makrotopia.org>
Sat, 7 Mar 2020 19:18:30 +0000 (20:18 +0100)
On platforms that do not have CONFIG_MTD enabled, loading the
rt2x00lib kernel module fails because it depends on symbols from
the mtd module ("Unknown symbol get_mtd_device_nm").

This commit disables the code that can read the eeprom from mtd if
mtd is not enabled.

Signed-off-by: Sven Over <sp@cedenti.st>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
package/kernel/mac80211/patches/rt2x00/604-rt2x00-load-eeprom-on-SoC-from-a-mtd-device-defines-.patch

index 08ca7c96fd05eead1156abf0d2ad7280dd78bda0..43754c43c24ace37975ad7feea8a2c6038bda699 100644 (file)
@@ -22,17 +22,20 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
          Supported chips: RT2880, RT3050, RT3052, RT3350, RT3352.
 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c
 +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00eeprom.c
-@@ -26,11 +26,72 @@
+@@ -26,11 +26,76 @@
  
  #include <linux/kernel.h>
  #include <linux/module.h>
++#if IS_ENABLED(CONFIG_MTD)
 +#include <linux/mtd/mtd.h>
 +#include <linux/mtd/partitions.h>
++#endif
  #include <linux/of.h>
  
  #include "rt2x00.h"
  #include "rt2x00lib.h"
  
++#if IS_ENABLED(CONFIG_MTD)
 +static int rt2800lib_read_eeprom_mtd(struct rt2x00_dev *rt2x00dev)
 +{
 +      int ret = -EINVAL;
@@ -91,16 +94,19 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
 +
 +      return ret;
 +}
++#endif
 +
  static const char *
  rt2x00lib_get_eeprom_file_name(struct rt2x00_dev *rt2x00dev)
  {
-@@ -58,6 +119,9 @@ static int rt2x00lib_request_eeprom_file
+@@ -58,6 +123,11 @@ static int rt2x00lib_request_eeprom_file
        const char *ee_name;
        int retval;
  
++#if IS_ENABLED(CONFIG_MTD)
 +      if (!rt2800lib_read_eeprom_mtd(rt2x00dev))
 +              return 0;
++#endif
 +
        ee_name = rt2x00lib_get_eeprom_file_name(rt2x00dev);
        if (!ee_name && test_bit(REQUIRE_EEPROM_FILE, &rt2x00dev->cap_flags)) {