diff options
Diffstat (limited to 'target/linux/brcm47xx/patches-3.2')
5 files changed, 12 insertions, 7 deletions
diff --git a/target/linux/brcm47xx/patches-3.2/029-bcm47xx-read-nvram-from-sflash.patch b/target/linux/brcm47xx/patches-3.2/029-bcm47xx-read-nvram-from-sflash.patch index 2fc43dc3b..b3d13df39 100644 --- a/target/linux/brcm47xx/patches-3.2/029-bcm47xx-read-nvram-from-sflash.patch +++ b/target/linux/brcm47xx/patches-3.2/029-bcm47xx-read-nvram-from-sflash.patch @@ -24,7 +24,7 @@   		base = bcma_cc->pflash.window;   		lim = bcma_cc->pflash.window_size;   		break; -@@ -86,7 +84,106 @@ found: +@@ -86,7 +84,110 @@ found:   	for (i = 0; i < sizeof(struct nvram_header); i += 4)   		*dst++ = *src++;   	for (; i < header->len && i < NVRAM_SPACE; i += 4) @@ -87,10 +87,12 @@  +	switch (bcm47xx_bus.ssb.chipco.flash_type) {  +	case SSB_PFLASH:  +		early_nvram_init_pflash(); ++		break;  +	case SSB_SFLASH:  +		err = early_nvram_init_sflash();  +		if (err < 0)  +			printk(KERN_WARNING "can not read from flash: %i\n", err); ++		break;  +	default:  +		printk(KERN_WARNING "unknow flash type\n");  +	} @@ -105,10 +107,12 @@  +	switch (bcm47xx_bus.bcma.bus.drv_cc.flash_type) {  +	case BCMA_PFLASH:  +		early_nvram_init_pflash(); ++		break;  +	case BCMA_SFLASH:  +		err = early_nvram_init_sflash();  +		if (err < 0)  +			printk(KERN_WARNING "can not read from flash: %i\n", err); ++		break;  +	default:  +		printk(KERN_WARNING "unknow flash type\n");  +	} diff --git a/target/linux/brcm47xx/patches-3.2/030-bcm47xx-bcma-nandflash.patch b/target/linux/brcm47xx/patches-3.2/030-bcm47xx-bcma-nandflash.patch index c9922a8b1..cc76f8309 100644 --- a/target/linux/brcm47xx/patches-3.2/030-bcm47xx-bcma-nandflash.patch +++ b/target/linux/brcm47xx/patches-3.2/030-bcm47xx-bcma-nandflash.patch @@ -98,14 +98,15 @@   #ifdef CONFIG_BCM47XX_SSB   static void early_nvram_init_ssb(void)   { -@@ -164,6 +211,10 @@ static void early_nvram_init_bcma(void) - 		err = early_nvram_init_sflash(); +@@ -168,6 +215,11 @@ static void early_nvram_init_bcma(void)   		if (err < 0)   			printk(KERN_WARNING "can not read from flash: %i\n", err); + 		break;  +	case BCMA_NFLASH:  +		err = early_nvram_init_nflash();  +		if (err < 0)  +			printk(KERN_WARNING "can not read from nflash: %i\n", err); ++		break;   	default:   		printk(KERN_WARNING "unknow flash type\n");   	} diff --git a/target/linux/brcm47xx/patches-3.2/197-MIPS-BCM47XX-return-number-of-written-bytes-in-nvram.patch b/target/linux/brcm47xx/patches-3.2/197-MIPS-BCM47XX-return-number-of-written-bytes-in-nvram.patch index 78ebea5da..4c4507c2d 100644 --- a/target/linux/brcm47xx/patches-3.2/197-MIPS-BCM47XX-return-number-of-written-bytes-in-nvram.patch +++ b/target/linux/brcm47xx/patches-3.2/197-MIPS-BCM47XX-return-number-of-written-bytes-in-nvram.patch @@ -1,7 +1,7 @@  --- a/arch/mips/bcm47xx/nvram.c  +++ b/arch/mips/bcm47xx/nvram.c -@@ -258,8 +258,7 @@ int nvram_getenv(char *name, char *val, +@@ -263,8 +263,7 @@ int nvram_getenv(char *name, char *val,   		value = eq + 1;   		if ((eq - var) == strlen(name) &&   			strncmp(var, name, (eq - var)) == 0) { diff --git a/target/linux/brcm47xx/patches-3.2/400-arch-bcm47xx.patch b/target/linux/brcm47xx/patches-3.2/400-arch-bcm47xx.patch index a67d4b51b..0933fb695 100644 --- a/target/linux/brcm47xx/patches-3.2/400-arch-bcm47xx.patch +++ b/target/linux/brcm47xx/patches-3.2/400-arch-bcm47xx.patch @@ -1,6 +1,6 @@  --- a/arch/mips/bcm47xx/nvram.c  +++ b/arch/mips/bcm47xx/nvram.c -@@ -264,3 +264,30 @@ int nvram_getenv(char *name, char *val, +@@ -269,3 +269,30 @@ int nvram_getenv(char *name, char *val,   	return NVRAM_ERR_ENVNOTFOUND;   }   EXPORT_SYMBOL(nvram_getenv); diff --git a/target/linux/brcm47xx/patches-3.2/820-wgt634u-nvram-fix.patch b/target/linux/brcm47xx/patches-3.2/820-wgt634u-nvram-fix.patch index dff194949..baf339dca 100644 --- a/target/linux/brcm47xx/patches-3.2/820-wgt634u-nvram-fix.patch +++ b/target/linux/brcm47xx/patches-3.2/820-wgt634u-nvram-fix.patch @@ -280,7 +280,7 @@ out the configuration than the in kernel cfe config reader.   	off = FLASH_MIN;   	while (off <= lim) { -@@ -247,6 +268,12 @@ int nvram_getenv(char *name, char *val, +@@ -252,6 +273,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; -@@ -275,6 +302,9 @@ char *nvram_get(const char *name) +@@ -280,6 +307,9 @@ char *nvram_get(const char *name)   	if (!nvram_buf[0])   		early_nvram_init();  | 
