linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash
@ 2011-12-05 15:08 Jonas Gorski
  2011-12-05 15:08 ` [PATCH 1/7] MTD: MAPS: bcm963xx-flash: fix word order for spare partition Jonas Gorski
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Jonas Gorski @ 2011-12-05 15:08 UTC (permalink / raw)
  To: linux-mtd
  Cc: linux-mips, Artem Bityutskiy, David Woodhouse, Florian Fainelli,
	Ralf Baechle

While trying to improve the bcm963xx CFE partition parsing, I noticed
that it could be completely replaced by the generic physmap flash
driver using a custom parser.

The following patch set tries to accomplish that.

The first few patches clean take care of some minor code style issues
first to prevent checkpatch from complaining when moving code around.

After that I move the CFE partition parsing into a parser and make
bcm963xx-flash use it to make sure I don't create a non working version.

Finally I'll allow physmap_flash_data to take partition parser names for
overriding the default parsers list (the OF version already allows that),
let BCM63XX use it, and remove the bcm963xx-flash driver as it is now
completely replaced by physmap + CFE parser.

While most patches are limited to the MTD tree, patch 6/7 touches MIPS,
so it could go in either tree. But since the MTD tree already has some
modifications for bcm963xx-flash, I think it's better to let it go
through the MTD tree, to reduce the (potential for) conflicts.

Regards
Jonas

P.S: This patchset is based on l2-mtd-2.6.git, which seems to be the
"correct" tree now (the website says mtd-2.6.git, but it doesn't look
like the correct one, having no commits). 

Jonas Gorski (7):
  MTD: MAPS: bcm963xx-flash: fix word order for spare partition
  MTD: MAPS: bcm963xx-flash: remove superfluous semicolons
  MTD: MAPS: bcm963xx-flash: clean up printk usage
  MTD: MAPS: bcm963xx-flash: make CFE partition parsing an mtd parser
  MTD: MAPS: physmap: allow partition parsers for physmap_flash_data
  MIPS: BCM63XX: use the new bcm63xxpart parser
  MTD: MAPS: remove the now unused bcm963xx-flash

 arch/mips/bcm63xx/boards/board_bcm963xx.c |    3 +
 drivers/mtd/Kconfig                       |    8 +
 drivers/mtd/Makefile                      |    1 +
 drivers/mtd/bcm63xxpart.c                 |  189 ++++++++++++++++++++
 drivers/mtd/maps/Kconfig                  |    1 +
 drivers/mtd/maps/bcm963xx-flash.c         |  265 -----------------------------
 drivers/mtd/maps/physmap.c                |    5 +-
 include/linux/mtd/physmap.h               |    1 +
 8 files changed, 207 insertions(+), 266 deletions(-)
 create mode 100644 drivers/mtd/bcm63xxpart.c
 delete mode 100644 drivers/mtd/maps/bcm963xx-flash.c

-- 
1.7.2.5

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/7] MTD: MAPS: bcm963xx-flash: fix word order for spare partition
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
@ 2011-12-05 15:08 ` Jonas Gorski
  2011-12-05 15:08 ` [PATCH 2/7] MTD: MAPS: bcm963xx-flash: remove superfluous semicolons Jonas Gorski
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Jonas Gorski @ 2011-12-05 15:08 UTC (permalink / raw)
  To: linux-mtd
  Cc: linux-mips, Artem Bityutskiy, David Woodhouse, Florian Fainelli,
	Ralf Baechle

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
 drivers/mtd/maps/bcm963xx-flash.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/maps/bcm963xx-flash.c b/drivers/mtd/maps/bcm963xx-flash.c
index c7d3949..b908d92 100644
--- a/drivers/mtd/maps/bcm963xx-flash.c
+++ b/drivers/mtd/maps/bcm963xx-flash.c
@@ -144,7 +144,7 @@ static int parse_cfe_partitions(struct mtd_info *master,
 					(long unsigned int)(parts[i].offset),
 					(long unsigned int)(parts[i].size));
 
-	printk(KERN_INFO PFX "Spare partition is %x offset and length %x\n",
+	printk(KERN_INFO PFX "Spare partition is offset %x and length %x\n",
 							spareaddr, sparelen);
 	*pparts = parts;
 	vfree(buf);
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/7] MTD: MAPS: bcm963xx-flash: remove superfluous semicolons
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
  2011-12-05 15:08 ` [PATCH 1/7] MTD: MAPS: bcm963xx-flash: fix word order for spare partition Jonas Gorski
@ 2011-12-05 15:08 ` Jonas Gorski
  2011-12-05 15:08 ` [PATCH 3/7] MTD: MAPS: bcm963xx-flash: clean up printk usage Jonas Gorski
                   ` (7 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Jonas Gorski @ 2011-12-05 15:08 UTC (permalink / raw)
  To: linux-mtd
  Cc: linux-mips, Artem Bityutskiy, David Woodhouse, Florian Fainelli,
	Ralf Baechle

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
 drivers/mtd/maps/bcm963xx-flash.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/mtd/maps/bcm963xx-flash.c b/drivers/mtd/maps/bcm963xx-flash.c
index b908d92..58cbaf2 100644
--- a/drivers/mtd/maps/bcm963xx-flash.c
+++ b/drivers/mtd/maps/bcm963xx-flash.c
@@ -93,18 +93,18 @@ static int parse_cfe_partitions(struct mtd_info *master,
 	if (rootfslen > 0) {
 		nrparts++;
 		namelen += 6;
-	};
+	}
 	if (kernellen > 0) {
 		nrparts++;
 		namelen += 6;
-	};
+	}
 
 	/* Ask kernel for more memory */
 	parts = kzalloc(sizeof(*parts) * nrparts + 10 * nrparts, GFP_KERNEL);
 	if (!parts) {
 		vfree(buf);
 		return -ENOMEM;
-	};
+	}
 
 	/* Start building partition list */
 	parts[curpart].name = "CFE";
@@ -117,7 +117,7 @@ static int parse_cfe_partitions(struct mtd_info *master,
 		parts[curpart].offset = kerneladdr;
 		parts[curpart].size = kernellen;
 		curpart++;
-	};
+	}
 
 	if (rootfslen > 0) {
 		parts[curpart].name = "rootfs";
@@ -126,7 +126,7 @@ static int parse_cfe_partitions(struct mtd_info *master,
 		if (sparelen > 0)
 			parts[curpart].size += sparelen;
 		curpart++;
-	};
+	}
 
 	parts[curpart].name = "nvram";
 	parts[curpart].offset = master->size - master->erasesize;
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/7] MTD: MAPS: bcm963xx-flash: clean up printk usage
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
  2011-12-05 15:08 ` [PATCH 1/7] MTD: MAPS: bcm963xx-flash: fix word order for spare partition Jonas Gorski
  2011-12-05 15:08 ` [PATCH 2/7] MTD: MAPS: bcm963xx-flash: remove superfluous semicolons Jonas Gorski
@ 2011-12-05 15:08 ` Jonas Gorski
  2011-12-05 15:08 ` [PATCH 4/7] MTD: MAPS: bcm963xx-flash: make CFE partition parsing an mtd parser Jonas Gorski
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Jonas Gorski @ 2011-12-05 15:08 UTC (permalink / raw)
  To: linux-mtd
  Cc: linux-mips, Artem Bityutskiy, David Woodhouse, Florian Fainelli,
	Ralf Baechle

Replace raw printk's with their pr_XXX equivalent and unify broken up
strings so they become grepable.

Also replace the PFX definition with a pr_fmt().

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
 drivers/mtd/maps/bcm963xx-flash.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/mtd/maps/bcm963xx-flash.c b/drivers/mtd/maps/bcm963xx-flash.c
index 58cbaf2..ce2ca2a 100644
--- a/drivers/mtd/maps/bcm963xx-flash.c
+++ b/drivers/mtd/maps/bcm963xx-flash.c
@@ -18,6 +18,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/slab.h>
@@ -33,8 +35,6 @@
 #define BCM63XX_BUSWIDTH	2		/* Buswidth */
 #define BCM63XX_EXTENDED_SIZE	0xBFC00000	/* Extended flash address */
 
-#define PFX KBUILD_MODNAME ": "
-
 static struct mtd_partition *parsed_parts;
 
 static struct mtd_info *bcm963xx_mtd_info;
@@ -79,8 +79,8 @@ static int parse_cfe_partitions(struct mtd_info *master,
 	tagversion = &(buf->tag_version[0]);
 	boardid = &(buf->board_id[0]);
 
-	printk(KERN_INFO PFX "CFE boot tag found with version %s "
-				"and board type %s\n", tagversion, boardid);
+	pr_info("CFE boot tag found with version %s and board type %s\n",
+		tagversion, boardid);
 
 	kerneladdr = kerneladdr - BCM63XX_EXTENDED_SIZE;
 	rootfsaddr = kerneladdr + kernellen;
@@ -139,13 +139,13 @@ static int parse_cfe_partitions(struct mtd_info *master,
 	parts[curpart].size = master->size - parts[0].size - parts[3].size;
 
 	for (i = 0; i < nrparts; i++)
-		printk(KERN_INFO PFX "Partition %d is %s offset %lx and "
-					"length %lx\n", i, parts[i].name,
-					(long unsigned int)(parts[i].offset),
-					(long unsigned int)(parts[i].size));
+		pr_info("Partition %d is %s offset %lx and length %lx\n", i,
+			parts[i].name, (long unsigned int)(parts[i].offset),
+			(long unsigned int)(parts[i].size));
+
+	pr_info("Spare partition is offset %x and length %x\n",	spareaddr,
+		sparelen);
 
-	printk(KERN_INFO PFX "Spare partition is offset %x and length %x\n",
-							spareaddr, sparelen);
 	*pparts = parts;
 	vfree(buf);
 
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/7] MTD: MAPS: bcm963xx-flash: make CFE partition parsing an mtd parser
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
                   ` (2 preceding siblings ...)
  2011-12-05 15:08 ` [PATCH 3/7] MTD: MAPS: bcm963xx-flash: clean up printk usage Jonas Gorski
@ 2011-12-05 15:08 ` Jonas Gorski
  2011-12-05 15:08 ` [PATCH 5/7] MTD: MAPS: physmap: allow partition parsers for physmap_flash_data Jonas Gorski
                   ` (5 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Jonas Gorski @ 2011-12-05 15:08 UTC (permalink / raw)
  To: linux-mtd
  Cc: linux-mips, Artem Bityutskiy, David Woodhouse, Florian Fainelli,
	Ralf Baechle

Recent BCM63XX devices support a variety of flash types (parallel, SPI,
NAND) and share the partition layout. To prevent code duplication make
the CFE partition parsing code a stand alone mtd parser to allow SPI or
NAND flash drivers to use it.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
 drivers/mtd/Kconfig               |    8 ++
 drivers/mtd/Makefile              |    1 +
 drivers/mtd/bcm63xxpart.c         |  189 +++++++++++++++++++++++++++++++++++++
 drivers/mtd/maps/Kconfig          |    1 +
 drivers/mtd/maps/bcm963xx-flash.c |  153 +-----------------------------
 5 files changed, 202 insertions(+), 150 deletions(-)
 create mode 100644 drivers/mtd/bcm63xxpart.c

diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
index 318a869..1be6218 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -140,6 +140,14 @@ config MTD_AR7_PARTS
 	---help---
 	  TI AR7 partitioning support
 
+config MTD_BCM63XX_PARTS
+	tristate "BCM63XX CFE partitioning support"
+	depends on BCM63XX
+	select CRC32
+	help
+	  This provides partions parsing for BCM63xx devices with CFE
+	  bootloaders.
+
 comment "User Modules And Translation Layers"
 
 config MTD_CHAR
diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile
index 9aaac3a..f901354 100644
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
@@ -11,6 +11,7 @@ obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
 obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
 obj-$(CONFIG_MTD_AFS_PARTS)	+= afs.o
 obj-$(CONFIG_MTD_AR7_PARTS)	+= ar7part.o
+obj-$(CONFIG_MTD_BCM63XX_PARTS)	+= bcm63xxpart.o
 
 # 'Users' - code which presents functionality to userspace.
 obj-$(CONFIG_MTD_CHAR)		+= mtdchar.o
diff --git a/drivers/mtd/bcm63xxpart.c b/drivers/mtd/bcm63xxpart.c
new file mode 100644
index 0000000..ac7d3c8
--- /dev/null
+++ b/drivers/mtd/bcm63xxpart.c
@@ -0,0 +1,189 @@
+/*
+ * BCM63XX CFE image tag parser
+ *
+ * Copyright © 2006-2008  Florian Fainelli <florian@openwrt.org>
+ *			  Mike Albon <malbon@openwrt.org>
+ * Copyright © 2009-2010  Daniel Dickinson <openwrt@cshore.neomailbox.net>
+ * Copyright © 2011 Jonas Gorski <jonas.gorski@gmail.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ */
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/module.h>
+#include <linux/kernel.h>
+#include <linux/slab.h>
+#include <linux/vmalloc.h>
+#include <linux/mtd/mtd.h>
+#include <linux/mtd/partitions.h>
+
+#include <asm/mach-bcm63xx/bcm963xx_tag.h>
+
+#define BCM63XX_EXTENDED_SIZE	0xBFC00000	/* Extended flash address */
+
+static int bcm63xx_detect_cfe(struct mtd_info *master)
+{
+	int idoffset = 0x4e0;
+	static char idstring[8] = "CFE1CFE1";
+	char buf[9];
+	int ret;
+	size_t retlen;
+
+	ret = master->read(master, idoffset, 8, &retlen, (void *)buf);
+	buf[retlen] = 0;
+	pr_info("Read Signature value of %s\n", buf);
+
+	return strncmp(idstring, buf, 8);
+}
+
+static int bcm63xx_parse_cfe_partitions(struct mtd_info *master,
+					struct mtd_partition **pparts,
+					struct mtd_part_parser_data *data)
+{
+	/* CFE, NVRAM and global Linux are always present */
+	int nrparts = 3, curpart = 0;
+	struct bcm_tag *buf;
+	struct mtd_partition *parts;
+	int ret;
+	size_t retlen;
+	unsigned int rootfsaddr, kerneladdr, spareaddr;
+	unsigned int rootfslen, kernellen, sparelen, totallen;
+	int namelen = 0;
+	int i;
+	char *boardid;
+	char *tagversion;
+
+	if (bcm63xx_detect_cfe(master))
+		return -EINVAL;
+
+	/* Allocate memory for buffer */
+	buf = vmalloc(sizeof(struct bcm_tag));
+	if (!buf)
+		return -ENOMEM;
+
+	/* Get the tag */
+	ret = master->read(master, master->erasesize, sizeof(struct bcm_tag),
+							&retlen, (void *)buf);
+	if (retlen != sizeof(struct bcm_tag)) {
+		vfree(buf);
+		return -EIO;
+	}
+
+	sscanf(buf->kernel_address, "%u", &kerneladdr);
+	sscanf(buf->kernel_length, "%u", &kernellen);
+	sscanf(buf->total_length, "%u", &totallen);
+	tagversion = &(buf->tag_version[0]);
+	boardid = &(buf->board_id[0]);
+
+	pr_info("CFE boot tag found with version %s and board type %s\n",
+		tagversion, boardid);
+
+	kerneladdr = kerneladdr - BCM63XX_EXTENDED_SIZE;
+	rootfsaddr = kerneladdr + kernellen;
+	spareaddr = roundup(totallen, master->erasesize) + master->erasesize;
+	sparelen = master->size - spareaddr - master->erasesize;
+	rootfslen = spareaddr - rootfsaddr;
+
+	/* Determine number of partitions */
+	namelen = 8;
+	if (rootfslen > 0) {
+		nrparts++;
+		namelen += 6;
+	}
+	if (kernellen > 0) {
+		nrparts++;
+		namelen += 6;
+	}
+
+	/* Ask kernel for more memory */
+	parts = kzalloc(sizeof(*parts) * nrparts + 10 * nrparts, GFP_KERNEL);
+	if (!parts) {
+		vfree(buf);
+		return -ENOMEM;
+	}
+
+	/* Start building partition list */
+	parts[curpart].name = "CFE";
+	parts[curpart].offset = 0;
+	parts[curpart].size = master->erasesize;
+	curpart++;
+
+	if (kernellen > 0) {
+		parts[curpart].name = "kernel";
+		parts[curpart].offset = kerneladdr;
+		parts[curpart].size = kernellen;
+		curpart++;
+	}
+
+	if (rootfslen > 0) {
+		parts[curpart].name = "rootfs";
+		parts[curpart].offset = rootfsaddr;
+		parts[curpart].size = rootfslen;
+		if (sparelen > 0)
+			parts[curpart].size += sparelen;
+		curpart++;
+	}
+
+	parts[curpart].name = "nvram";
+	parts[curpart].offset = master->size - master->erasesize;
+	parts[curpart].size = master->erasesize;
+
+	/* Global partition "linux" to make easy firmware upgrade */
+	curpart++;
+	parts[curpart].name = "linux";
+	parts[curpart].offset = parts[0].size;
+	parts[curpart].size = master->size - parts[0].size - parts[3].size;
+
+	for (i = 0; i < nrparts; i++)
+		pr_info("Partition %d is %s offset %lx and length %lx\n", i,
+			parts[i].name, (long unsigned int)(parts[i].offset),
+			(long unsigned int)(parts[i].size));
+
+	pr_info("Spare partition is offset %x and length %x\n",	spareaddr,
+		sparelen);
+
+	*pparts = parts;
+	vfree(buf);
+
+	return nrparts;
+};
+
+static struct mtd_part_parser bcm63xx_cfe_parser = {
+	.owner = THIS_MODULE,
+	.parse_fn = bcm63xx_parse_cfe_partitions,
+	.name = "bcm63xxpart",
+};
+
+static int __init bcm63xx_cfe_parser_init(void)
+{
+	return register_mtd_parser(&bcm63xx_cfe_parser);
+}
+
+static void __exit bcm63xx_cfe_parser_exit(void)
+{
+	deregister_mtd_parser(&bcm63xx_cfe_parser);
+}
+
+module_init(bcm63xx_cfe_parser_init);
+module_exit(bcm63xx_cfe_parser_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Daniel Dickinson <openwrt@cshore.neomailbox.net>");
+MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
+MODULE_AUTHOR("Mike Albon <malbon@openwrt.org>");
+MODULE_AUTHOR("Jonas Gorski <jonas.gorski@gmail.com");
+MODULE_DESCRIPTION("MTD partitioning for BCM63XX CFE bootloaders");
diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
index 8e0c4bf..acc5e08 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
@@ -247,6 +247,7 @@ config MTD_BCM963XX
         depends on BCM63XX
 	select MTD_MAP_BANK_WIDTH_2
 	select MTD_CFI_I1
+	select MTD_BCM63XX_PARTS
         help
 	  Support for parsing CFE image tag and creating MTD partitions on
 	  Broadcom BCM63xx boards.
diff --git a/drivers/mtd/maps/bcm963xx-flash.c b/drivers/mtd/maps/bcm963xx-flash.c
index ce2ca2a..c106632 100644
--- a/drivers/mtd/maps/bcm963xx-flash.c
+++ b/drivers/mtd/maps/bcm963xx-flash.c
@@ -26,16 +26,10 @@
 #include <linux/mtd/map.h>
 #include <linux/mtd/mtd.h>
 #include <linux/mtd/partitions.h>
-#include <linux/vmalloc.h>
 #include <linux/platform_device.h>
 #include <linux/io.h>
 
-#include <asm/mach-bcm63xx/bcm963xx_tag.h>
-
 #define BCM63XX_BUSWIDTH	2		/* Buswidth */
-#define BCM63XX_EXTENDED_SIZE	0xBFC00000	/* Extended flash address */
-
-static struct mtd_partition *parsed_parts;
 
 static struct mtd_info *bcm963xx_mtd_info;
 
@@ -44,134 +38,11 @@ static struct map_info bcm963xx_map = {
 	.bankwidth	= BCM63XX_BUSWIDTH,
 };
 
-static int parse_cfe_partitions(struct mtd_info *master,
-						struct mtd_partition **pparts)
-{
-	/* CFE, NVRAM and global Linux are always present */
-	int nrparts = 3, curpart = 0;
-	struct bcm_tag *buf;
-	struct mtd_partition *parts;
-	int ret;
-	size_t retlen;
-	unsigned int rootfsaddr, kerneladdr, spareaddr;
-	unsigned int rootfslen, kernellen, sparelen, totallen;
-	int namelen = 0;
-	int i;
-	char *boardid;
-	char *tagversion;
-
-	/* Allocate memory for buffer */
-	buf = vmalloc(sizeof(struct bcm_tag));
-	if (!buf)
-		return -ENOMEM;
-
-	/* Get the tag */
-	ret = master->read(master, master->erasesize, sizeof(struct bcm_tag),
-							&retlen, (void *)buf);
-	if (retlen != sizeof(struct bcm_tag)) {
-		vfree(buf);
-		return -EIO;
-	}
-
-	sscanf(buf->kernel_address, "%u", &kerneladdr);
-	sscanf(buf->kernel_length, "%u", &kernellen);
-	sscanf(buf->total_length, "%u", &totallen);
-	tagversion = &(buf->tag_version[0]);
-	boardid = &(buf->board_id[0]);
-
-	pr_info("CFE boot tag found with version %s and board type %s\n",
-		tagversion, boardid);
-
-	kerneladdr = kerneladdr - BCM63XX_EXTENDED_SIZE;
-	rootfsaddr = kerneladdr + kernellen;
-	spareaddr = roundup(totallen, master->erasesize) + master->erasesize;
-	sparelen = master->size - spareaddr - master->erasesize;
-	rootfslen = spareaddr - rootfsaddr;
-
-	/* Determine number of partitions */
-	namelen = 8;
-	if (rootfslen > 0) {
-		nrparts++;
-		namelen += 6;
-	}
-	if (kernellen > 0) {
-		nrparts++;
-		namelen += 6;
-	}
-
-	/* Ask kernel for more memory */
-	parts = kzalloc(sizeof(*parts) * nrparts + 10 * nrparts, GFP_KERNEL);
-	if (!parts) {
-		vfree(buf);
-		return -ENOMEM;
-	}
-
-	/* Start building partition list */
-	parts[curpart].name = "CFE";
-	parts[curpart].offset = 0;
-	parts[curpart].size = master->erasesize;
-	curpart++;
-
-	if (kernellen > 0) {
-		parts[curpart].name = "kernel";
-		parts[curpart].offset = kerneladdr;
-		parts[curpart].size = kernellen;
-		curpart++;
-	}
-
-	if (rootfslen > 0) {
-		parts[curpart].name = "rootfs";
-		parts[curpart].offset = rootfsaddr;
-		parts[curpart].size = rootfslen;
-		if (sparelen > 0)
-			parts[curpart].size += sparelen;
-		curpart++;
-	}
-
-	parts[curpart].name = "nvram";
-	parts[curpart].offset = master->size - master->erasesize;
-	parts[curpart].size = master->erasesize;
-
-	/* Global partition "linux" to make easy firmware upgrade */
-	curpart++;
-	parts[curpart].name = "linux";
-	parts[curpart].offset = parts[0].size;
-	parts[curpart].size = master->size - parts[0].size - parts[3].size;
-
-	for (i = 0; i < nrparts; i++)
-		pr_info("Partition %d is %s offset %lx and length %lx\n", i,
-			parts[i].name, (long unsigned int)(parts[i].offset),
-			(long unsigned int)(parts[i].size));
-
-	pr_info("Spare partition is offset %x and length %x\n",	spareaddr,
-		sparelen);
-
-	*pparts = parts;
-	vfree(buf);
-
-	return nrparts;
-};
-
-static int bcm963xx_detect_cfe(struct mtd_info *master)
-{
-	int idoffset = 0x4e0;
-	static char idstring[8] = "CFE1CFE1";
-	char buf[9];
-	int ret;
-	size_t retlen;
-
-	ret = master->read(master, idoffset, 8, &retlen, (void *)buf);
-	buf[retlen] = 0;
-	printk(KERN_INFO PFX "Read Signature value of %s\n", buf);
-
-	return strncmp(idstring, buf, 8);
-}
+static const char *part_types[] = { "bcm63xxpart", NULL };
 
 static int bcm963xx_probe(struct platform_device *pdev)
 {
 	int err = 0;
-	int parsed_nr_parts = 0;
-	char *part_type;
 	struct resource *r;
 
 	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -207,26 +78,8 @@ static int bcm963xx_probe(struct platform_device *pdev)
 probe_ok:
 	bcm963xx_mtd_info->owner = THIS_MODULE;
 
-	/* This is mutually exclusive */
-	if (bcm963xx_detect_cfe(bcm963xx_mtd_info) == 0) {
-		dev_info(&pdev->dev, "CFE bootloader detected\n");
-		if (parsed_nr_parts == 0) {
-			int ret = parse_cfe_partitions(bcm963xx_mtd_info,
-							&parsed_parts);
-			if (ret > 0) {
-				part_type = "CFE";
-				parsed_nr_parts = ret;
-			}
-		}
-	} else {
-		dev_info(&pdev->dev, "unsupported bootloader\n");
-		err = -ENODEV;
-		goto err_probe;
-	}
-
-	return mtd_device_register(bcm963xx_mtd_info, parsed_parts,
-				   parsed_nr_parts);
-
+	return mtd_device_parse_register(bcm963xx_mtd_info, part_types, NULL,
+					 NULL, 0);
 err_probe:
 	iounmap(bcm963xx_map.virt);
 	return err;
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/7] MTD: MAPS: physmap: allow partition parsers for physmap_flash_data
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
                   ` (3 preceding siblings ...)
  2011-12-05 15:08 ` [PATCH 4/7] MTD: MAPS: bcm963xx-flash: make CFE partition parsing an mtd parser Jonas Gorski
@ 2011-12-05 15:08 ` Jonas Gorski
  2011-12-05 15:08 ` [PATCH 6/7] MIPS: BCM63XX: use the new bcm63xxpart parser Jonas Gorski
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Jonas Gorski @ 2011-12-05 15:08 UTC (permalink / raw)
  To: linux-mtd
  Cc: linux-mips, Artem Bityutskiy, David Woodhouse, Florian Fainelli,
	Ralf Baechle

Arch setup code might want to use their own partition parsers, but still
use the generic physmap flash driver.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
 drivers/mtd/maps/physmap.c  |    5 ++++-
 include/linux/mtd/physmap.h |    1 +
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c
index 66e8200..1f749d58 100644
--- a/drivers/mtd/maps/physmap.c
+++ b/drivers/mtd/maps/physmap.c
@@ -85,6 +85,7 @@ static int physmap_flash_probe(struct platform_device *dev)
 	struct physmap_flash_data *physmap_data;
 	struct physmap_flash_info *info;
 	const char **probe_type;
+	const char **part_types;
 	int err = 0;
 	int i;
 	int devices_found = 0;
@@ -171,7 +172,9 @@ static int physmap_flash_probe(struct platform_device *dev)
 	if (err)
 		goto err_out;
 
-	mtd_device_parse_register(info->cmtd, part_probe_types, 0,
+	part_types = physmap_data->part_probe_types ? : part_probe_types;
+
+	mtd_device_parse_register(info->cmtd, part_types, 0,
 				  physmap_data->parts, physmap_data->nr_parts);
 	return 0;
 
diff --git a/include/linux/mtd/physmap.h b/include/linux/mtd/physmap.h
index 04e0181..d2887e7 100644
--- a/include/linux/mtd/physmap.h
+++ b/include/linux/mtd/physmap.h
@@ -30,6 +30,7 @@ struct physmap_flash_data {
 	unsigned int		pfow_base;
 	char                    *probe_type;
 	struct mtd_partition	*parts;
+	const char		**part_probe_types;
 };
 
 #endif /* __LINUX_MTD_PHYSMAP__ */
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 6/7] MIPS: BCM63XX: use the new bcm63xxpart parser
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
                   ` (4 preceding siblings ...)
  2011-12-05 15:08 ` [PATCH 5/7] MTD: MAPS: physmap: allow partition parsers for physmap_flash_data Jonas Gorski
@ 2011-12-05 15:08 ` Jonas Gorski
  2011-12-05 15:08 ` [PATCH 7/7] MTD: MAPS: remove the now unused bcm963xx-flash Jonas Gorski
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Jonas Gorski @ 2011-12-05 15:08 UTC (permalink / raw)
  To: linux-mtd
  Cc: linux-mips, Artem Bityutskiy, David Woodhouse, Florian Fainelli,
	Ralf Baechle

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
 arch/mips/bcm63xx/boards/board_bcm963xx.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/arch/mips/bcm63xx/boards/board_bcm963xx.c b/arch/mips/bcm63xx/boards/board_bcm963xx.c
index 40b223b..c223854 100644
--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -834,10 +834,13 @@ static struct mtd_partition mtd_partitions[] = {
 	}
 };
 
+static const char *bcm63xx_part_types[] = { "bcm63xxpart", NULL };
+
 static struct physmap_flash_data flash_data = {
 	.width			= 2,
 	.nr_parts		= ARRAY_SIZE(mtd_partitions),
 	.parts			= mtd_partitions,
+	.part_probe_types	= bcm63xx_part_types,
 };
 
 static struct resource mtd_resources[] = {
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 7/7] MTD: MAPS: remove the now unused bcm963xx-flash
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
                   ` (5 preceding siblings ...)
  2011-12-05 15:08 ` [PATCH 6/7] MIPS: BCM63XX: use the new bcm63xxpart parser Jonas Gorski
@ 2011-12-05 15:08 ` Jonas Gorski
  2011-12-05 22:36 ` [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Florian Fainelli
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 13+ messages in thread
From: Jonas Gorski @ 2011-12-05 15:08 UTC (permalink / raw)
  To: linux-mtd
  Cc: linux-mips, Artem Bityutskiy, David Woodhouse, Florian Fainelli,
	Ralf Baechle

bcm963xx-flash does nothing meaningful anymore.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
---
 drivers/mtd/maps/bcm963xx-flash.c |  118 -------------------------------------
 1 files changed, 0 insertions(+), 118 deletions(-)
 delete mode 100644 drivers/mtd/maps/bcm963xx-flash.c

diff --git a/drivers/mtd/maps/bcm963xx-flash.c b/drivers/mtd/maps/bcm963xx-flash.c
deleted file mode 100644
index c106632..0000000
--- a/drivers/mtd/maps/bcm963xx-flash.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright © 2006-2008  Florian Fainelli <florian@openwrt.org>
- *			  Mike Albon <malbon@openwrt.org>
- * Copyright © 2009-2010  Daniel Dickinson <openwrt@cshore.neomailbox.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- */
-
-#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/slab.h>
-#include <linux/mtd/map.h>
-#include <linux/mtd/mtd.h>
-#include <linux/mtd/partitions.h>
-#include <linux/platform_device.h>
-#include <linux/io.h>
-
-#define BCM63XX_BUSWIDTH	2		/* Buswidth */
-
-static struct mtd_info *bcm963xx_mtd_info;
-
-static struct map_info bcm963xx_map = {
-	.name		= "bcm963xx",
-	.bankwidth	= BCM63XX_BUSWIDTH,
-};
-
-static const char *part_types[] = { "bcm63xxpart", NULL };
-
-static int bcm963xx_probe(struct platform_device *pdev)
-{
-	int err = 0;
-	struct resource *r;
-
-	r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!r) {
-		dev_err(&pdev->dev, "no resource supplied\n");
-		return -ENODEV;
-	}
-
-	bcm963xx_map.phys = r->start;
-	bcm963xx_map.size = resource_size(r);
-	bcm963xx_map.virt = ioremap(r->start, resource_size(r));
-	if (!bcm963xx_map.virt) {
-		dev_err(&pdev->dev, "failed to ioremap\n");
-		return -EIO;
-	}
-
-	dev_info(&pdev->dev, "0x%08lx at 0x%08x\n",
-					bcm963xx_map.size, bcm963xx_map.phys);
-
-	simple_map_init(&bcm963xx_map);
-
-	bcm963xx_mtd_info = do_map_probe("cfi_probe", &bcm963xx_map);
-	if (!bcm963xx_mtd_info) {
-		dev_err(&pdev->dev, "failed to probe using CFI\n");
-		bcm963xx_mtd_info = do_map_probe("jedec_probe", &bcm963xx_map);
-		if (bcm963xx_mtd_info)
-			goto probe_ok;
-		dev_err(&pdev->dev, "failed to probe using JEDEC\n");
-		err = -EIO;
-		goto err_probe;
-	}
-
-probe_ok:
-	bcm963xx_mtd_info->owner = THIS_MODULE;
-
-	return mtd_device_parse_register(bcm963xx_mtd_info, part_types, NULL,
-					 NULL, 0);
-err_probe:
-	iounmap(bcm963xx_map.virt);
-	return err;
-}
-
-static int bcm963xx_remove(struct platform_device *pdev)
-{
-	if (bcm963xx_mtd_info) {
-		mtd_device_unregister(bcm963xx_mtd_info);
-		map_destroy(bcm963xx_mtd_info);
-	}
-
-	if (bcm963xx_map.virt) {
-		iounmap(bcm963xx_map.virt);
-		bcm963xx_map.virt = 0;
-	}
-
-	return 0;
-}
-
-static struct platform_driver bcm63xx_mtd_dev = {
-	.probe	= bcm963xx_probe,
-	.remove = bcm963xx_remove,
-	.driver = {
-		.name	= "bcm963xx-flash",
-		.owner	= THIS_MODULE,
-	},
-};
-
-module_platform_driver(bcm63xx_mtd_dev);
-
-MODULE_LICENSE("GPL");
-MODULE_DESCRIPTION("Broadcom BCM63xx MTD driver for CFE and RedBoot");
-MODULE_AUTHOR("Daniel Dickinson <openwrt@cshore.neomailbox.net>");
-MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
-MODULE_AUTHOR("Mike Albon <malbon@openwrt.org>");
-- 
1.7.2.5

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
                   ` (6 preceding siblings ...)
  2011-12-05 15:08 ` [PATCH 7/7] MTD: MAPS: remove the now unused bcm963xx-flash Jonas Gorski
@ 2011-12-05 22:36 ` Florian Fainelli
  2011-12-06 12:02 ` Artem Bityutskiy
  2011-12-07  5:45 ` Brian Norris
  9 siblings, 0 replies; 13+ messages in thread
From: Florian Fainelli @ 2011-12-05 22:36 UTC (permalink / raw)
  To: Jonas Gorski
  Cc: linux-mips, Artem Bityutskiy, linux-mtd, David Woodhouse, Ralf Baechle

Hello Jonas,

Le lundi 05 décembre 2011 16:08:04, Jonas Gorski a écrit :
> While trying to improve the bcm963xx CFE partition parsing, I noticed
> that it could be completely replaced by the generic physmap flash
> driver using a custom parser.
> 
> The following patch set tries to accomplish that.
> 
> The first few patches clean take care of some minor code style issues
> first to prevent checkpatch from complaining when moving code around.
> 
> After that I move the CFE partition parsing into a parser and make
> bcm963xx-flash use it to make sure I don't create a non working version.
> 
> Finally I'll allow physmap_flash_data to take partition parser names for
> overriding the default parsers list (the OF version already allows that),
> let BCM63XX use it, and remove the bcm963xx-flash driver as it is now
> completely replaced by physmap + CFE parser.
> 
> While most patches are limited to the MTD tree, patch 6/7 touches MIPS,
> so it could go in either tree. But since the MTD tree already has some
> modifications for bcm963xx-flash, I think it's better to let it go
> through the MTD tree, to reduce the (potential for) conflicts.

For the whole series, feel free to add my:

Acked-by: Florian Fainelli <florian@openwrt.org>

thanks!

> 
> Regards
> Jonas
> 
> P.S: This patchset is based on l2-mtd-2.6.git, which seems to be the
> "correct" tree now (the website says mtd-2.6.git, but it doesn't look
> like the correct one, having no commits).
> 
> Jonas Gorski (7):
>   MTD: MAPS: bcm963xx-flash: fix word order for spare partition
>   MTD: MAPS: bcm963xx-flash: remove superfluous semicolons
>   MTD: MAPS: bcm963xx-flash: clean up printk usage
>   MTD: MAPS: bcm963xx-flash: make CFE partition parsing an mtd parser
>   MTD: MAPS: physmap: allow partition parsers for physmap_flash_data
>   MIPS: BCM63XX: use the new bcm63xxpart parser
>   MTD: MAPS: remove the now unused bcm963xx-flash
> 
>  arch/mips/bcm63xx/boards/board_bcm963xx.c |    3 +
>  drivers/mtd/Kconfig                       |    8 +
>  drivers/mtd/Makefile                      |    1 +
>  drivers/mtd/bcm63xxpart.c                 |  189 ++++++++++++++++++++
>  drivers/mtd/maps/Kconfig                  |    1 +
>  drivers/mtd/maps/bcm963xx-flash.c         |  265
> ----------------------------- drivers/mtd/maps/physmap.c                | 
>   5 +-
>  include/linux/mtd/physmap.h               |    1 +
>  8 files changed, 207 insertions(+), 266 deletions(-)
>  create mode 100644 drivers/mtd/bcm63xxpart.c
>  delete mode 100644 drivers/mtd/maps/bcm963xx-flash.c

-- 
Florian

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
                   ` (7 preceding siblings ...)
  2011-12-05 22:36 ` [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Florian Fainelli
@ 2011-12-06 12:02 ` Artem Bityutskiy
  2011-12-06 12:13   ` Jonas Gorski
  2011-12-07  5:45 ` Brian Norris
  9 siblings, 1 reply; 13+ messages in thread
From: Artem Bityutskiy @ 2011-12-06 12:02 UTC (permalink / raw)
  To: Jonas Gorski
  Cc: linux-mips, Ralf Baechle, linux-mtd, Artem Bityutskiy,
	David Woodhouse, Florian Fainelli

On Mon, 2011-12-05 at 16:08 +0100, Jonas Gorski wrote:
> While trying to improve the bcm963xx CFE partition parsing, I noticed
> that it could be completely replaced by the generic physmap flash
> driver using a custom parser.

Hi,

would you please send a version which applies cleanly to my
l2-mtd-2.6.git tree:

http://git.infradead.org/users/dedekind/l2-mtd-2.6.git

Artem.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash
  2011-12-06 12:02 ` Artem Bityutskiy
@ 2011-12-06 12:13   ` Jonas Gorski
  2011-12-06 21:01     ` Artem Bityutskiy
  0 siblings, 1 reply; 13+ messages in thread
From: Jonas Gorski @ 2011-12-06 12:13 UTC (permalink / raw)
  To: dedekind1
  Cc: linux-mips, Ralf Baechle, linux-mtd, Artem Bityutskiy,
	David Woodhouse, Florian Fainelli

On 6 December 2011 13:02, Artem Bityutskiy <dedekind1@gmail.com> wrote:
> On Mon, 2011-12-05 at 16:08 +0100, Jonas Gorski wrote:
>> While trying to improve the bcm963xx CFE partition parsing, I noticed
>> that it could be completely replaced by the generic physmap flash
>> driver using a custom parser.
>
> Hi,
>
> would you please send a version which applies cleanly to my
> l2-mtd-2.6.git tree:
>
> http://git.infradead.org/users/dedekind/l2-mtd-2.6.git

On Mon, 2011-12-05 at 16:08 +0100, Jonas Gorski wrote:
> P.S: This patchset is based on l2-mtd-2.6.git, which seems to be the
> "correct" tree now (the website says mtd-2.6.git, but it doesn't look
> like the correct one, having no commits).

And these patches do apply cleanly for me on my local copy of your git
(latest commit from 29 hours ago according to gitweb).


Regards
Jonas

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash
  2011-12-06 12:13   ` Jonas Gorski
@ 2011-12-06 21:01     ` Artem Bityutskiy
  0 siblings, 0 replies; 13+ messages in thread
From: Artem Bityutskiy @ 2011-12-06 21:01 UTC (permalink / raw)
  To: Jonas Gorski
  Cc: linux-mips, Ralf Baechle, linux-mtd, Artem Bityutskiy,
	David Woodhouse, Florian Fainelli

On Tue, 2011-12-06 at 13:13 +0100, Jonas Gorski wrote:
> And these patches do apply cleanly for me on my local copy of your git
> (latest commit from 29 hours ago according to gitweb).

Sorry, indeed they apply cleanly, I used wrong branch. Pushed to
l2-mtd-2.6.git, thanks.

Artem.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash
  2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
                   ` (8 preceding siblings ...)
  2011-12-06 12:02 ` Artem Bityutskiy
@ 2011-12-07  5:45 ` Brian Norris
  9 siblings, 0 replies; 13+ messages in thread
From: Brian Norris @ 2011-12-07  5:45 UTC (permalink / raw)
  To: Jonas Gorski
  Cc: linux-mips, Ralf Baechle, linux-mtd, Artem Bityutskiy,
	David Woodhouse, Florian Fainelli

On Mon, Dec 5, 2011 at 7:08 AM, Jonas Gorski <jonas.gorski@gmail.com> wrote:
> P.S: This patchset is based on l2-mtd-2.6.git, which seems to be the
> "correct" tree now (the website says mtd-2.6.git, but it doesn't look
> like the correct one, having no commits).

Hi Jonas,

I see that you are nowhere near the first one to have at least a
little bit of trouble with the mtd-2.6.git vs. l2-mtd-2.6.git
question.

Artem or David,

Is it sensible to change the website documentation to reflect the fact
that most MTD development is tracked in Artem's l2 repository
primarily? I can send a patch against mtd-www.git sometime to update
this.

Brian

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2011-12-07  5:45 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-05 15:08 [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Jonas Gorski
2011-12-05 15:08 ` [PATCH 1/7] MTD: MAPS: bcm963xx-flash: fix word order for spare partition Jonas Gorski
2011-12-05 15:08 ` [PATCH 2/7] MTD: MAPS: bcm963xx-flash: remove superfluous semicolons Jonas Gorski
2011-12-05 15:08 ` [PATCH 3/7] MTD: MAPS: bcm963xx-flash: clean up printk usage Jonas Gorski
2011-12-05 15:08 ` [PATCH 4/7] MTD: MAPS: bcm963xx-flash: make CFE partition parsing an mtd parser Jonas Gorski
2011-12-05 15:08 ` [PATCH 5/7] MTD: MAPS: physmap: allow partition parsers for physmap_flash_data Jonas Gorski
2011-12-05 15:08 ` [PATCH 6/7] MIPS: BCM63XX: use the new bcm63xxpart parser Jonas Gorski
2011-12-05 15:08 ` [PATCH 7/7] MTD: MAPS: remove the now unused bcm963xx-flash Jonas Gorski
2011-12-05 22:36 ` [PATCH 0/7] MTD: MAPS: remove bcm963xx-flash Florian Fainelli
2011-12-06 12:02 ` Artem Bityutskiy
2011-12-06 12:13   ` Jonas Gorski
2011-12-06 21:01     ` Artem Bityutskiy
2011-12-07  5:45 ` Brian Norris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).