summaryrefslogtreecommitdiff
path: root/target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch')
-rw-r--r--target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch124
1 files changed, 0 insertions, 124 deletions
diff --git a/target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch b/target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch
deleted file mode 100644
index ce924d9..0000000
--- a/target/linux/brcm47xx/patches-3.18/030-02-MIPS-BCM47XX-Make-ssb-init-NVRAM-instead-of-bcm47xx-.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 21400f252a97755579b43a4dc95dd02cd7f0ca75 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
-Date: Wed, 3 Sep 2014 22:59:45 +0200
-Subject: [PATCH 155/158] MIPS: BCM47XX: Make ssb init NVRAM instead of bcm47xx
- polling it
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This makes NVRAM code less bcm47xx/ssb specific allowing it to become a
-standalone driver in the future. A similar patch for bcma will follow
-when it's ready.
-
-Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
-Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
-Cc: linux-mips@linux-mips.org
-Patchwork: https://patchwork.linux-mips.org/patch/7612/
-Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
----
- arch/mips/bcm47xx/nvram.c | 30 +++++++---------------
- arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h | 1 +
- drivers/ssb/driver_mipscore.c | 14 +++++++++-
- 3 files changed, 23 insertions(+), 22 deletions(-)
-
---- a/arch/mips/bcm47xx/nvram.c
-+++ b/arch/mips/bcm47xx/nvram.c
-@@ -98,7 +98,14 @@ found:
- return 0;
- }
-
--static int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
-+/*
-+ * On bcm47xx we need access to the NVRAM very early, so we can't use mtd
-+ * subsystem to access flash. We can't even use platform device / driver to
-+ * store memory offset.
-+ * To handle this we provide following symbol. It's supposed to be called as
-+ * soon as we get info about flash device, before any NVRAM entry is needed.
-+ */
-+int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
- {
- void __iomem *iobase;
- int err;
-@@ -114,25 +121,6 @@ static int bcm47xx_nvram_init_from_mem(u
- return err;
- }
-
--#ifdef CONFIG_BCM47XX_SSB
--static int nvram_init_ssb(void)
--{
-- struct ssb_mipscore *mcore = &bcm47xx_bus.ssb.mipscore;
-- u32 base;
-- u32 lim;
--
-- if (mcore->pflash.present) {
-- base = mcore->pflash.window;
-- lim = mcore->pflash.window_size;
-- } else {
-- pr_err("Couldn't find supported flash memory\n");
-- return -ENXIO;
-- }
--
-- return bcm47xx_nvram_init_from_mem(base, lim);
--}
--#endif
--
- #ifdef CONFIG_BCM47XX_BCMA
- static int nvram_init_bcma(void)
- {
-@@ -168,7 +156,7 @@ static int nvram_init(void)
- switch (bcm47xx_bus_type) {
- #ifdef CONFIG_BCM47XX_SSB
- case BCM47XX_BUS_TYPE_SSB:
-- return nvram_init_ssb();
-+ break;
- #endif
- #ifdef CONFIG_BCM47XX_BCMA
- case BCM47XX_BUS_TYPE_BCMA:
---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
-+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
-@@ -32,6 +32,7 @@ struct nvram_header {
- #define NVRAM_MAX_VALUE_LEN 255
- #define NVRAM_MAX_PARAM_LEN 64
-
-+int bcm47xx_nvram_init_from_mem(u32 base, u32 lim);
- extern int bcm47xx_nvram_getenv(char *name, char *val, size_t val_len);
-
- static inline void bcm47xx_nvram_parse_macaddr(char *buf, u8 macaddr[6])
---- a/drivers/ssb/driver_mipscore.c
-+++ b/drivers/ssb/driver_mipscore.c
-@@ -15,6 +15,9 @@
- #include <linux/serial_core.h>
- #include <linux/serial_reg.h>
- #include <linux/time.h>
-+#ifdef CONFIG_BCM47XX
-+#include <bcm47xx_nvram.h>
-+#endif
-
- #include "ssb_private.h"
-
-@@ -210,6 +213,7 @@ static void ssb_mips_serial_init(struct
- static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
- {
- struct ssb_bus *bus = mcore->dev->bus;
-+ struct ssb_sflash *sflash = &mcore->sflash;
- struct ssb_pflash *pflash = &mcore->pflash;
-
- /* When there is no chipcommon on the bus there is 4MB flash */
-@@ -242,7 +246,15 @@ static void ssb_mips_flash_detect(struct
- }
-
- ssb_pflash:
-- if (pflash->present) {
-+ if (sflash->present) {
-+#ifdef CONFIG_BCM47XX
-+ bcm47xx_nvram_init_from_mem(sflash->window, sflash->size);
-+#endif
-+ } else if (pflash->present) {
-+#ifdef CONFIG_BCM47XX
-+ bcm47xx_nvram_init_from_mem(pflash->window, pflash->window_size);
-+#endif
-+
- ssb_pflash_data.width = pflash->buswidth;
- ssb_pflash_resource.start = pflash->window;
- ssb_pflash_resource.end = pflash->window + pflash->window_size;