aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2016-03-01 08:14:34 +0000
committerJohn Crispin <blogic@openwrt.org>2016-03-01 08:14:34 +0000
commitfda357882da312f41889e5a582a04ac327e86e71 (patch)
treefe65fcfaf5822be9b12f0fcbab42d7a1e4afa423
parent6a867d436830bb8922abe798b1acc51aff53e05c (diff)
downloadupstream-fda357882da312f41889e5a582a04ac327e86e71.tar.gz
upstream-fda357882da312f41889e5a582a04ac327e86e71.tar.bz2
upstream-fda357882da312f41889e5a582a04ac327e86e71.zip
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 <meuleman@broadcom.com> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> [Backport of r47467. The recent mac80211 backport was missing this patch, breaking the build of the brcmfmac module] Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> git-svn-id: svn://svn.openwrt.org/openwrt/branches/chaos_calmer@48831 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/bcm53xx/files/include/linux/bcm47xx_nvram.h49
-rw-r--r--target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch37
-rw-r--r--target/linux/brcm47xx/patches-3.18/032-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch36
-rw-r--r--target/linux/generic/patches-3.18/030-backport_bcm47xx_nvram.patch52
4 files changed, 52 insertions, 122 deletions
diff --git a/target/linux/bcm53xx/files/include/linux/bcm47xx_nvram.h b/target/linux/bcm53xx/files/include/linux/bcm47xx_nvram.h
deleted file mode 100644
index 2793652fbf..0000000000
--- a/target/linux/bcm53xx/files/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 <linux/types.h>
-#include <linux/kernel.h>
-#include <linux/vmalloc.h>
-
-#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/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch b/target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch
index c1c0927cec..e9e3873545 100644
--- a/target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch
+++ b/target/linux/brcm47xx/patches-3.18/031-05-MIPS-BCM47xx-Move-NVRAM-header-to-the-include-linux.patch
@@ -182,40 +182,3 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
#endif
#include "ssb_private.h"
---- /dev/null
-+++ b/include/linux/bcm47xx_nvram.h
-@@ -0,0 +1,34 @@
-+/*
-+ * 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 <linux/types.h>
-+#include <linux/kernel.h>
-+
-+#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);
-+#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;
-+};
-+#endif
-+
-+#endif /* __BCM47XX_NVRAM_H */
diff --git a/target/linux/brcm47xx/patches-3.18/032-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch b/target/linux/brcm47xx/patches-3.18/032-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch
index 105c65142a..254be46100 100644
--- a/target/linux/brcm47xx/patches-3.18/032-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch
+++ b/target/linux/brcm47xx/patches-3.18/032-08-mips-bcm47xx-allow-retrieval-of-complete-nvram-conte.patch
@@ -119,39 +119,3 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
+ return nvram;
+}
+EXPORT_SYMBOL(bcm47xx_nvram_get_contents);
---- a/include/linux/bcm47xx_nvram.h
-+++ b/include/linux/bcm47xx_nvram.h
-@@ -10,11 +10,17 @@
-
- #include <linux/types.h>
- #include <linux/kernel.h>
-+#include <linux/vmalloc.h>
-
- #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 0000000000..7ae8b1db6c
--- /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 <linux/types.h>
++#include <linux/kernel.h>
++#include <linux/vmalloc.h>
++
++#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 */