drivers/mtd/redboot.c | 13 ++++++++++---
3 files changed, 18 insertions(+), 3 deletions(-)
-Index: linux-2.6.32.10/drivers/mtd/maps/Kconfig
-===================================================================
---- linux-2.6.32.10.orig/drivers/mtd/maps/Kconfig 2010-03-29 06:35:59.987293878 -0400
-+++ linux-2.6.32.10/drivers/mtd/maps/Kconfig 2010-03-29 06:37:14.968545954 -0400
-@@ -259,6 +259,13 @@
+--- a/drivers/mtd/maps/Kconfig
++++ b/drivers/mtd/maps/Kconfig
+@@ -259,6 +259,13 @@ config MTD_ALCHEMY
help
Flash memory access on AMD Alchemy Pb/Db/RDK Reference Boards
config MTD_DILNETPC
tristate "CFI Flash device mapped on DIL/Net PC"
depends on X86 && MTD_CONCAT && MTD_PARTITIONS && MTD_CFI_INTELEXT && BROKEN
-Index: linux-2.6.32.10/drivers/mtd/redboot.c
-===================================================================
---- linux-2.6.32.10.orig/drivers/mtd/redboot.c 2010-03-29 06:36:00.017292877 -0400
-+++ linux-2.6.32.10/drivers/mtd/redboot.c 2010-03-29 06:37:14.968545954 -0400
-@@ -39,7 +39,7 @@
+--- a/drivers/mtd/redboot.c
++++ b/drivers/mtd/redboot.c
+@@ -39,7 +39,7 @@ static inline int redboot_checksum(struc
return 1;
}
struct mtd_partition **pparts,
unsigned long fis_origin)
{
-@@ -162,6 +162,14 @@
+@@ -162,6 +162,14 @@ static int parse_redboot_partitions(stru
goto out;
}
for (i = 0; i < numslots; i++) {
struct fis_list *new_fl, **prev;
-@@ -184,9 +192,8 @@
+@@ -184,9 +192,8 @@ static int parse_redboot_partitions(stru
new_fl->img = &buf[i];
if (fis_origin) {
buf[i].flash_base -= fis_origin;
/* I'm sure the JFFS2 code has done me permanent damage.
* I now think the following is _normal_
-Index: linux-2.6.32.10/drivers/mtd/maps/Makefile
-===================================================================
---- linux-2.6.32.10.orig/drivers/mtd/maps/Makefile 2010-03-29 06:35:59.947294290 -0400
-+++ linux-2.6.32.10/drivers/mtd/maps/Makefile 2010-03-29 06:37:14.968545954 -0400
-@@ -61,3 +61,4 @@
+--- a/drivers/mtd/maps/Makefile
++++ b/drivers/mtd/maps/Makefile
+@@ -61,3 +61,4 @@ obj-$(CONFIG_MTD_BFIN_ASYNC) += bfin-asy
obj-$(CONFIG_MTD_RBTX4939) += rbtx4939-flash.o
obj-$(CONFIG_MTD_VMU) += vmu-flash.o
obj-$(CONFIG_MTD_GPIO_ADDR) += gpio-addr-flash.o
+obj-$(CONFIG_MTD_BCM963XX) += bcm963xx-flash.o
-Index: linux-2.6.32.10/drivers/mtd/maps/bcm963xx-flash.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.32.10/drivers/mtd/maps/bcm963xx-flash.c 2010-03-29 13:33:58.797288897 -0400
+--- /dev/null
++++ b/drivers/mtd/maps/bcm963xx-flash.c
@@ -0,0 +1,266 @@
+/*
+ * Copyright (C) 2006-2008 Florian Fainelli <florian@openwrt.org>
+ return -ENOMEM;
+
+ /* Get the tag */
-+ ret = master->read(master,master->erasesize,sizeof(struct bcm_tag), &retlen, (void *)buf);
++ ret = master->read(master,0x10000,sizeof(struct bcm_tag), &retlen, (void *)buf);
+ if (retlen != sizeof(struct bcm_tag)){
+ vfree(buf);
+ return -EIO;
+MODULE_DESCRIPTION("Broadcom BCM63xx MTD partition parser/mapping for CFE and RedBoot");
+MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
+MODULE_AUTHOR("Mike Albon <malbon@openwrt.org>");
-Index: linux-2.6.32.10/arch/mips/bcm63xx/boards/board_bcm963xx.c
-===================================================================
---- linux-2.6.32.10.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-03-29 06:35:59.927292275 -0400
-+++ linux-2.6.32.10/arch/mips/bcm63xx/boards/board_bcm963xx.c 2010-03-29 06:37:35.178541753 -0400
-@@ -722,20 +722,6 @@
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -722,20 +722,6 @@ static int board_get_mac_address(u8 *mac
return 0;
}
static struct resource mtd_resources[] = {
{
.start = 0, /* filled at runtime */
-@@ -745,12 +731,9 @@
+@@ -745,12 +731,9 @@ static struct resource mtd_resources[] =
};
static struct platform_device mtd_dev = {