X-Git-Url: http://git.rohieb.name/openwrt.git/blobdiff_plain/86a107e5443812428723192711f8def571f83aa9..25e2b28f3cf0738d5fa5f23b88edbcfc7faf3b3e:/target/linux/brcm47xx/patches-3.0/820-wgt634u-nvram-fix.patch diff --git a/target/linux/brcm47xx/patches-3.0/820-wgt634u-nvram-fix.patch b/target/linux/brcm47xx/patches-3.0/820-wgt634u-nvram-fix.patch index e1bf69f8c..88a40e2bc 100644 --- a/target/linux/brcm47xx/patches-3.0/820-wgt634u-nvram-fix.patch +++ b/target/linux/brcm47xx/patches-3.0/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 -+obj-y := gpio.o irq.o nvram.o prom.o serial.o setup.o time.o cfe_env.o +-obj-y += gpio.o irq.o nvram.o prom.o serial.o setup.o time.o bus.o ++obj-y += gpio.o irq.o nvram.o prom.o serial.o setup.o time.o bus.o cfe_env.o --- /dev/null +++ b/arch/mips/bcm47xx/cfe_env.c @@ -0,0 +1,229 @@ @@ -245,19 +245,19 @@ out the configuration than the in kernel cfe config reader. + --- a/arch/mips/bcm47xx/nvram.c +++ b/arch/mips/bcm47xx/nvram.c -@@ -22,6 +22,8 @@ - #include +@@ -23,6 +23,8 @@ + #include 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(void) -@@ -34,6 +36,25 @@ static void early_nvram_init(void) - - base = mcore->flash_window; - lim = mcore->flash_window_size; + static void early_nvram_init_pflash(void) +@@ -59,6 +61,25 @@ static void early_nvram_init_pflash(void + break; + #endif + } + cfe_env = 0; + + /* XXX: hack for supporting the CFE environment stuff on WGT634U */ @@ -280,7 +280,7 @@ out the configuration than the in kernel cfe config reader. off = FLASH_MIN; while (off <= lim) { -@@ -75,6 +96,12 @@ int nvram_getenv(char *name, char *val, +@@ -181,6 +202,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; -@@ -104,6 +131,9 @@ char *nvram_get(const char *name) +@@ -210,6 +237,9 @@ char *nvram_get(const char *name) if (!nvram_buf[0]) early_nvram_init();