diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-25 14:33:47 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-10-25 14:33:47 +0000 |
commit | 288f3f6650cf72a566a2e582d0065f2b9d47858a (patch) | |
tree | bbbcac3fb6d358126698f3764c562345b210dc9c /target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch | |
parent | 3f93d0a04a77c8f800d9f2b4c47e6eec4ee9a870 (diff) |
kernel: update bcma and ssb to master-2012-10-18 from wireless-testing
* update the flash driver for bcm47xx to use the stubs already in bcma
* do some misc enhancements to the flash drivers for bcm47xx
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33920 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch b/target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch index 457958a9d..0aef7952d 100644 --- a/target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch +++ b/target/linux/brcm47xx/patches-3.3/820-wgt634u-nvram-fix.patch @@ -9,8 +9,8 @@ out the configuration than the in kernel cfe config reader. # under Linux. # --obj-y += gpio.o irq.o nvram.o prom.o serial.o setup.o time.o sprom.o bus.o -+obj-y += gpio.o irq.o nvram.o prom.o serial.o setup.o time.o sprom.o bus.o cfe_env.o +-obj-y += gpio.o irq.o nvram.o prom.o serial.o setup.o time.o sprom.o ++obj-y += gpio.o irq.o nvram.o prom.o serial.o setup.o time.o sprom.o cfe_env.o --- /dev/null +++ b/arch/mips/bcm47xx/cfe_env.c @@ -0,0 +1,229 @@ @@ -245,18 +245,18 @@ out the configuration than the in kernel cfe config reader. + --- a/arch/mips/bcm47xx/nvram.c +++ b/arch/mips/bcm47xx/nvram.c -@@ -25,6 +25,8 @@ - #include <linux/mtd/bcm47xx_nand.h> +@@ -22,6 +22,8 @@ + #include <asm/mach-bcm47xx/bcm47xx.h> static char nvram_buf[NVRAM_SPACE]; +static int cfe_env; +extern char *cfe_env_get(char *nv_buf, const char *name); - /* Probe for NVRAM header */ - static void early_nvram_init_pflash(void) -@@ -58,6 +60,25 @@ static void early_nvram_init_pflash(void - break; - #endif + static u32 find_nvram_size(u32 end) + { +@@ -59,6 +61,25 @@ static void early_nvram_init_fill(u32 ba + } + off <<= 1; } + cfe_env = 0; + @@ -278,9 +278,9 @@ out the configuration than the in kernel cfe config reader. + } + } - off = FLASH_MIN; - while (off <= lim) { -@@ -257,6 +278,12 @@ int nvram_getenv(char *name, char *val, + /* Try embedded NVRAM at 4 KB and 1 KB as last resorts */ + header = (struct nvram_header *) KSEG1ADDR(base + 4096); +@@ -166,6 +187,12 @@ int nvram_getenv(char *name, char *val, if (!nvram_buf[0]) early_nvram_init(); @@ -293,7 +293,7 @@ out the configuration than the in kernel cfe config reader. /* Look for name=value and return value */ var = &nvram_buf[sizeof(struct nvram_header)]; end = nvram_buf + sizeof(nvram_buf) - 2; -@@ -285,6 +312,9 @@ char *nvram_get(const char *name) +@@ -194,6 +221,9 @@ char *nvram_get(const char *name) if (!nvram_buf[0]) early_nvram_init(); |