From 40b9ab7fa5d885b7079e01d1106b9d8294bd0ea5 Mon Sep 17 00:00:00 2001 From: H Hartley Sweeten Date: Tue, 12 May 2009 13:46:59 -0700 Subject: [PATCH] --- yaml --- r: 153797 b: refs/heads/master c: f36e20c01ad0104688f2eaebdf2213e749929c97 h: refs/heads/master i: 153795: 7e6c680445b6a9a5bb7e3dbf1241865614fefbbd v: v3 --- [refs] | 2 +- trunk/drivers/mtd/nand/plat_nand.c | 2 ++ trunk/include/linux/mtd/nand.h | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 830ec9534773..2deee5fb146b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bf95efd41b1a760128eb25402791b0a4941eb655 +refs/heads/master: f36e20c01ad0104688f2eaebdf2213e749929c97 diff --git a/trunk/drivers/mtd/nand/plat_nand.c b/trunk/drivers/mtd/nand/plat_nand.c index 22e0ce788419..4e16c6f5bdd5 100644 --- a/trunk/drivers/mtd/nand/plat_nand.c +++ b/trunk/drivers/mtd/nand/plat_nand.c @@ -95,6 +95,8 @@ static int __devinit plat_nand_probe(struct platform_device *pdev) return 0; } } + if (pdata->chip.set_parts) + pdata->chip.set_parts(data->mtd.size, &pdata->chip); if (pdata->chip.partitions) { data->parts = pdata->chip.partitions; res = add_mtd_partitions(&data->mtd, data->parts, diff --git a/trunk/include/linux/mtd/nand.h b/trunk/include/linux/mtd/nand.h index 7f2d69356554..4030ebada49e 100644 --- a/trunk/include/linux/mtd/nand.h +++ b/trunk/include/linux/mtd/nand.h @@ -563,6 +563,7 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len, * @options: Option flags, e.g. 16bit buswidth * @ecclayout: ecc layout info structure * @part_probe_types: NULL-terminated array of probe types + * @set_parts: platform specific function to set partitions * @priv: hardware controller specific settings */ struct platform_nand_chip { @@ -574,6 +575,8 @@ struct platform_nand_chip { int chip_delay; unsigned int options; const char **part_probe_types; + void (*set_parts)(uint64_t size, + struct platform_nand_chip *chip); void *priv; };