summaryrefslogtreecommitdiffstats
path: root/drivers/mtd
diff options
context:
space:
mode:
authorAndrew Victor <andrew@sanpeople.com>2007-05-03 08:16:44 +0200
committerDavid Woodhouse <dwmw2@infradead.org>2007-05-03 08:40:41 +0200
commit693ef66d8914f50cb899b5268676ea508d1f3178 (patch)
tree54c64858fab00277f888b57fbcbf2b096bfaef65 /drivers/mtd
parent[MTD] [NAND] Tidy up handling of page number in nand_block_bad() (diff)
downloadlinux-693ef66d8914f50cb899b5268676ea508d1f3178.tar.xz
linux-693ef66d8914f50cb899b5268676ea508d1f3178.zip
[MTD] [NAND] at91_nand.c: CMDLINE_PARTS support
This patch allows you to specify at91_nand partitions on the kernel command line using the mtdparts variable, if CONFIG_MTD_CMDLINE_PARTS is set. Signed-off-by: Frank Mandarino <fmandarino@endrelia.com> Signed-off-by: Andrew Victor <andrew@sanpeople.com> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/nand/at91_nand.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mtd/nand/at91_nand.c b/drivers/mtd/nand/at91_nand.c
index 14b80cc90a7b..512e999177f7 100644
--- a/drivers/mtd/nand/at91_nand.c
+++ b/drivers/mtd/nand/at91_nand.c
@@ -82,6 +82,10 @@ static void at91_nand_disable(struct at91_nand_host *host)
at91_set_gpio_value(host->board->enable_pin, 1);
}
+#ifdef CONFIG_MTD_PARTITIONS
+const char *part_probes[] = { "cmdlinepart", NULL };
+#endif
+
/*
* Probe for the NAND device.
*/
@@ -151,6 +155,12 @@ static int __init at91_nand_probe(struct platform_device *pdev)
#ifdef CONFIG_MTD_PARTITIONS
if (host->board->partition_info)
partitions = host->board->partition_info(mtd->size, &num_partitions);
+#ifdef CONFIG_MTD_CMDLINE_PARTS
+ else {
+ mtd->name = "at91_nand";
+ num_partitions = parse_mtd_partitions(mtd, part_probes, &partitions, 0);
+ }
+#endif
if ((!partitions) || (num_partitions == 0)) {
printk(KERN_ERR "at91_nand: No parititions defined, or unsupported device.\n");