diff options
Diffstat (limited to 'target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch b/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch index e2bbdcc15f..ea002fe732 100644 --- a/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch +++ b/target/linux/brcm47xx/patches-3.18/820-wgt634u-nvram-fix.patch @@ -251,17 +251,17 @@ out the configuration than the in kernel cfe config reader. +static int cfe_env; +extern char *cfe_env_get(char *nv_buf, const char *name); - static u32 find_nvram_size(u32 end) + static u32 find_nvram_size(void __iomem *end) { -@@ -46,6 +48,26 @@ static int nvram_find_and_copy(u32 base, - u32 *src, *dst; - u32 size; +@@ -51,6 +53,26 @@ static int nvram_find_and_copy(void __io + return -EEXIST; + } + cfe_env = 0; + + /* XXX: hack for supporting the CFE environment stuff on WGT634U */ + if (lim >= 8 * 1024 * 1024) { -+ src = (u32 *) KSEG1ADDR(base + 8 * 1024 * 1024 - 0x2000); ++ src = (u32 *) iobase + 8 * 1024 * 1024 - 0x2000; + dst = (u32 *) nvram_buf; + + if ((*src & 0xff00ff) == 0x000001) { @@ -280,7 +280,7 @@ out the configuration than the in kernel cfe config reader. /* TODO: when nvram is on nand flash check for bad blocks first. */ off = FLASH_MIN; while (off <= lim) { -@@ -172,6 +194,13 @@ int bcm47xx_nvram_getenv(char *name, cha +@@ -142,6 +164,13 @@ int bcm47xx_nvram_getenv(char *name, cha return err; } |