From cb0c8da7c26ffbc361f70f4a343e4f82c0429669 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Fri, 13 Nov 2015 23:51:31 +0000 Subject: [PATCH] kernel: take bcm47xx_nvram.h from kernel and not backports compat-wireless/backports now contains a bcm47xx_nvram.h file to backport some of the functions in it which are used by the bcmfmac driver. This file just checks for the kernel versions and provide an empty implementations on older kernel versions. This is OK on most systems, but on bcm47xx / bcm53xx systems we want to call the real functions here. This commit removes the file from backports in our build process like we do it with the bcma and ssb header files. Instead we add a recent version into our kernel so all code uses only one header file. On bcm47xx / bcm53xx the real implementations of this code will be used. Reported-by: Hante Meuleman Signed-off-by: Hauke Mehrtens SVN-Revision: 47467 --- package/kernel/mac80211/Makefile | 3 +- .../files-4.1/include/linux/bcm47xx_nvram.h | 49 ----------------- ...5301X-Add-missing-Netgear-R8000-LEDs.patch | 5 -- ...to-GPIO-descriptor-for-power-control.patch | 6 +-- ...ow-retrieval-of-complete-nvram-conte.patch | 33 ++---------- .../030-backport_bcm47xx_nvram.patch | 52 +++++++++++++++++++ .../030-backport_bcm47xx_nvram.patch | 37 +++++++++++++ ...-__arch_swab-16-32-64-when-using-MIP.patch | 7 +-- ...ld-Do-not-fail-on-missing-Build-file.patch | 10 ---- 9 files changed, 98 insertions(+), 104 deletions(-) delete mode 100644 target/linux/bcm53xx/files-4.1/include/linux/bcm47xx_nvram.h create mode 100644 target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch create mode 100644 target/linux/generic/patches-4.1/030-backport_bcm47xx_nvram.patch diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 580b2c3b6f8..f2427de2f46 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -1782,7 +1782,8 @@ define Build/Prepare $(PKG_BUILD_DIR)/include/linux/eeprom_93cx6.h \ $(PKG_BUILD_DIR)/include/linux/wl12xx.h \ $(PKG_BUILD_DIR)/include/linux/spi/libertas_spi.h \ - $(PKG_BUILD_DIR)/include/net/ieee80211.h + $(PKG_BUILD_DIR)/include/net/ieee80211.h \ + $(PKG_BUILD_DIR)/backport-include/linux/bcm47xx_nvram.h echo 'compat-wireless-$(PKG_VERSION)-$(PKG_RELEASE)-$(REVISION)' > $(PKG_BUILD_DIR)/compat_version $(CP) ./files/regdb.txt $(PKG_BUILD_DIR)/net/wireless/db.txt diff --git a/target/linux/bcm53xx/files-4.1/include/linux/bcm47xx_nvram.h b/target/linux/bcm53xx/files-4.1/include/linux/bcm47xx_nvram.h deleted file mode 100644 index 2793652fbf6..00000000000 --- a/target/linux/bcm53xx/files-4.1/include/linux/bcm47xx_nvram.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. - */ - -#ifndef __BCM47XX_NVRAM_H -#define __BCM47XX_NVRAM_H - -#include -#include -#include - -#ifdef CONFIG_BCM47XX_NVRAM -int bcm47xx_nvram_init_from_mem(u32 base, u32 lim); -int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len); -int bcm47xx_nvram_gpio_pin(const char *name); -char *bcm47xx_nvram_get_contents(size_t *val_len); -static inline void bcm47xx_nvram_release_contents(char *nvram) -{ - vfree(nvram); -}; -#else -static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim) -{ - return -ENOTSUPP; -}; -static inline int bcm47xx_nvram_getenv(const char *name, char *val, - size_t val_len) -{ - return -ENOTSUPP; -}; -static inline int bcm47xx_nvram_gpio_pin(const char *name) -{ - return -ENOTSUPP; -}; - -static inline char *bcm47xx_nvram_get_contents(size_t *val_len) -{ - return NULL; -}; - -static inline void bcm47xx_nvram_release_contents(char *nvram) -{ -}; -#endif - -#endif /* __BCM47XX_NVRAM_H */ diff --git a/target/linux/bcm53xx/patches-4.1/132-ARM-BCM5301X-Add-missing-Netgear-R8000-LEDs.patch b/target/linux/bcm53xx/patches-4.1/132-ARM-BCM5301X-Add-missing-Netgear-R8000-LEDs.patch index c117774b0b8..60fba1315a7 100644 --- a/target/linux/bcm53xx/patches-4.1/132-ARM-BCM5301X-Add-missing-Netgear-R8000-LEDs.patch +++ b/target/linux/bcm53xx/patches-4.1/132-ARM-BCM5301X-Add-missing-Netgear-R8000-LEDs.patch @@ -11,8 +11,6 @@ Signed-off-by: Rafał Miłecki arch/arm/boot/dts/bcm4709-netgear-r8000.dts | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) -diff --git a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts -index 446c586..b52927c 100644 --- a/arch/arm/boot/dts/bcm4709-netgear-r8000.dts +++ b/arch/arm/boot/dts/bcm4709-netgear-r8000.dts @@ -50,6 +50,36 @@ @@ -52,6 +50,3 @@ index 446c586..b52927c 100644 }; gpio-keys { --- -1.8.4.5 - diff --git a/target/linux/bcm53xx/patches-4.1/186-USB-bcma-switch-to-GPIO-descriptor-for-power-control.patch b/target/linux/bcm53xx/patches-4.1/186-USB-bcma-switch-to-GPIO-descriptor-for-power-control.patch index 5031886f00f..f1995d1e6d4 100644 --- a/target/linux/bcm53xx/patches-4.1/186-USB-bcma-switch-to-GPIO-descriptor-for-power-control.patch +++ b/target/linux/bcm53xx/patches-4.1/186-USB-bcma-switch-to-GPIO-descriptor-for-power-control.patch @@ -17,8 +17,6 @@ Signed-off-by: Rafał Miłecki drivers/usb/host/bcma-hcd.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) -diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c -index 5398e3d..291aaa2 100644 --- a/drivers/usb/host/bcma-hcd.c +++ b/drivers/usb/host/bcma-hcd.c @@ -21,6 +21,7 @@ @@ -37,7 +35,7 @@ index 5398e3d..291aaa2 100644 }; /* Wait for bitmask in a register to get set or cleared. -@@ -228,19 +230,12 @@ static void bcma_hcd_init_chip_arm(struct bcma_device *dev) +@@ -228,19 +230,12 @@ static void bcma_hcd_init_chip_arm(struc static void bcma_hci_platform_power_gpio(struct bcma_device *dev, bool val) { @@ -60,7 +58,7 @@ index 5398e3d..291aaa2 100644 } static const struct usb_ehci_pdata ehci_pdata = { -@@ -314,7 +309,11 @@ static int bcma_hcd_probe(struct bcma_device *dev) +@@ -314,7 +309,11 @@ static int bcma_hcd_probe(struct bcma_de if (!usb_dev) return -ENOMEM; diff --git a/target/linux/brcm47xx/patches-4.1/031-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch b/target/linux/brcm47xx/patches-4.1/031-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch index 105c65142a8..569c99aa6dd 100644 --- a/target/linux/brcm47xx/patches-4.1/031-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch +++ b/target/linux/brcm47xx/patches-4.1/031-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch @@ -121,37 +121,12 @@ Signed-off-by: Ralf Baechle +EXPORT_SYMBOL(bcm47xx_nvram_get_contents); --- a/include/linux/bcm47xx_nvram.h +++ b/include/linux/bcm47xx_nvram.h -@@ -10,11 +10,17 @@ - - #include +@@ -12,7 +12,7 @@ #include -+#include + #include - #ifdef CONFIG_BCM47XX +-#ifdef CONFIG_BCM47XX_NVRAM ++#ifdef CONFIG_BCM47XX int bcm47xx_nvram_init_from_mem(u32 base, u32 lim); int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len); int bcm47xx_nvram_gpio_pin(const char *name); -+char *bcm47xx_nvram_get_contents(size_t *val_len); -+static inline void bcm47xx_nvram_release_contents(char *nvram) -+{ -+ vfree(nvram); -+}; - #else - static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim) - { -@@ -29,6 +35,15 @@ static inline int bcm47xx_nvram_gpio_pin - { - return -ENOTSUPP; - }; -+ -+static inline char *bcm47xx_nvram_get_contents(size_t *val_len) -+{ -+ return NULL; -+}; -+ -+static inline void bcm47xx_nvram_release_contents(char *nvram) -+{ -+}; - #endif - - #endif /* __BCM47XX_NVRAM_H */ diff --git a/target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch b/target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch new file mode 100644 index 00000000000..7ae8b1db6c3 --- /dev/null +++ b/target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch @@ -0,0 +1,52 @@ +--- /dev/null ++++ b/include/linux/bcm47xx_nvram.h +@@ -0,0 +1,49 @@ ++/* ++ * This program is free software; you can redistribute it and/or modify it ++ * under the terms of the GNU General Public License as published by the ++ * Free Software Foundation; either version 2 of the License, or (at your ++ * option) any later version. ++ */ ++ ++#ifndef __BCM47XX_NVRAM_H ++#define __BCM47XX_NVRAM_H ++ ++#include ++#include ++#include ++ ++#ifdef CONFIG_BCM47XX_NVRAM ++int bcm47xx_nvram_init_from_mem(u32 base, u32 lim); ++int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len); ++int bcm47xx_nvram_gpio_pin(const char *name); ++char *bcm47xx_nvram_get_contents(size_t *val_len); ++static inline void bcm47xx_nvram_release_contents(char *nvram) ++{ ++ vfree(nvram); ++}; ++#else ++static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim) ++{ ++ return -ENOTSUPP; ++}; ++static inline int bcm47xx_nvram_getenv(const char *name, char *val, ++ size_t val_len) ++{ ++ return -ENOTSUPP; ++}; ++static inline int bcm47xx_nvram_gpio_pin(const char *name) ++{ ++ return -ENOTSUPP; ++}; ++ ++static inline char *bcm47xx_nvram_get_contents(size_t *val_len) ++{ ++ return NULL; ++}; ++ ++static inline void bcm47xx_nvram_release_contents(char *nvram) ++{ ++}; ++#endif ++ ++#endif /* __BCM47XX_NVRAM_H */ diff --git a/target/linux/generic/patches-4.1/030-backport_bcm47xx_nvram.patch b/target/linux/generic/patches-4.1/030-backport_bcm47xx_nvram.patch new file mode 100644 index 00000000000..c20f05e0794 --- /dev/null +++ b/target/linux/generic/patches-4.1/030-backport_bcm47xx_nvram.patch @@ -0,0 +1,37 @@ +--- a/include/linux/bcm47xx_nvram.h ++++ b/include/linux/bcm47xx_nvram.h +@@ -10,11 +10,17 @@ + + #include + #include ++#include + +-#ifdef CONFIG_BCM47XX ++#ifdef CONFIG_BCM47XX_NVRAM + int bcm47xx_nvram_init_from_mem(u32 base, u32 lim); + int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len); + int bcm47xx_nvram_gpio_pin(const char *name); ++char *bcm47xx_nvram_get_contents(size_t *val_len); ++static inline void bcm47xx_nvram_release_contents(char *nvram) ++{ ++ vfree(nvram); ++}; + #else + static inline int bcm47xx_nvram_init_from_mem(u32 base, u32 lim) + { +@@ -29,6 +35,15 @@ static inline int bcm47xx_nvram_gpio_pin + { + return -ENOTSUPP; + }; ++ ++static inline char *bcm47xx_nvram_get_contents(size_t *val_len) ++{ ++ return NULL; ++}; ++ ++static inline void bcm47xx_nvram_release_contents(char *nvram) ++{ ++}; + #endif + + #endif /* __BCM47XX_NVRAM_H */ diff --git a/target/linux/generic/patches-4.1/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch b/target/linux/generic/patches-4.1/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch index d8f25ac1fd5..ebbe1bbaeea 100644 --- a/target/linux/generic/patches-4.1/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch +++ b/target/linux/generic/patches-4.1/133-MIPS-UAPI-Ignore-__arch_swab-16-32-64-when-using-MIP.patch @@ -30,8 +30,6 @@ Signed-off-by: Ralf Baechle arch/mips/include/uapi/asm/swab.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git a/arch/mips/include/uapi/asm/swab.h b/arch/mips/include/uapi/asm/swab.h -index 8f2d184..23cd9b1 100644 --- a/arch/mips/include/uapi/asm/swab.h +++ b/arch/mips/include/uapi/asm/swab.h @@ -13,8 +13,9 @@ @@ -46,13 +44,10 @@ index 8f2d184..23cd9b1 100644 static inline __attribute_const__ __u16 __arch_swab16(__u16 x) { -@@ -65,5 +66,5 @@ static inline __attribute_const__ __u64 __arch_swab64(__u64 x) +@@ -65,5 +66,5 @@ static inline __attribute_const__ __u64 } #define __arch_swab64 __arch_swab64 #endif /* __mips64 */ -#endif /* MIPS R2 or newer or Loongson 3A */ +#endif /* (not __mips16) and (MIPS R2 or newer or Loongson 3A) */ #endif /* _ASM_SWAB_H */ --- -1.7.10.4 - diff --git a/target/linux/generic/patches-4.1/222-perf-build-Do-not-fail-on-missing-Build-file.patch b/target/linux/generic/patches-4.1/222-perf-build-Do-not-fail-on-missing-Build-file.patch index 3fb2df6ef15..2026e4da8de 100644 --- a/target/linux/generic/patches-4.1/222-perf-build-Do-not-fail-on-missing-Build-file.patch +++ b/target/linux/generic/patches-4.1/222-perf-build-Do-not-fail-on-missing-Build-file.patch @@ -29,8 +29,6 @@ Signed-off-by: Arnaldo Carvalho de Melo 3 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 tools/build/tests/ex/empty2/README -diff --git a/tools/build/Makefile.build b/tools/build/Makefile.build -index 10df572..69c35cf 100644 --- a/tools/build/Makefile.build +++ b/tools/build/Makefile.build @@ -37,7 +37,7 @@ subdir-obj-y := @@ -42,8 +40,6 @@ index 10df572..69c35cf 100644 quiet_cmd_flex = FLEX $@ quiet_cmd_bison = BISON $@ -diff --git a/tools/build/tests/ex/Build b/tools/build/tests/ex/Build -index 0e6c3e6..70d8762 100644 --- a/tools/build/tests/ex/Build +++ b/tools/build/tests/ex/Build @@ -2,6 +2,7 @@ ex-y += ex.o @@ -54,14 +50,8 @@ index 0e6c3e6..70d8762 100644 libex-y += c.o libex-y += d.o -diff --git a/tools/build/tests/ex/empty2/README b/tools/build/tests/ex/empty2/README -new file mode 100644 -index 0000000..2107cc5 --- /dev/null +++ b/tools/build/tests/ex/empty2/README @@ -0,0 +1,2 @@ +This directory is left intentionally without Build file +to test proper nesting into Build-less directories. --- -2.1.4 - -- 2.30.2