summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBaruch Siach <baruch@tkos.co.il>2010-05-31 08:49:40 +0300
committerSascha Hauer <s.hauer@pengutronix.de>2010-07-26 14:17:53 +0200
commitcce02464dd4733e8173d01a9a7a3ff5491c8546b (patch)
tree01e3c2b87ba9a272cef82466e1377ccc891dc159
parent5ea32021c173c0c97482a1342a9069733032b647 (diff)
downloadop-kernel-dev-cce02464dd4733e8173d01a9a7a3ff5491c8546b.zip
op-kernel-dev-cce02464dd4733e8173d01a9a7a3ff5491c8546b.tar.gz
mxc_nand: add support for platform defined partitions
Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/plat-mxc/include/mach/mxc_nand.h4
-rw-r--r--drivers/mtd/nand/mxc_nand.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/plat-mxc/include/mach/mxc_nand.h b/arch/arm/plat-mxc/include/mach/mxc_nand.h
index 5d2d21d..2d74748 100644
--- a/arch/arm/plat-mxc/include/mach/mxc_nand.h
+++ b/arch/arm/plat-mxc/include/mach/mxc_nand.h
@@ -20,9 +20,13 @@
#ifndef __ASM_ARCH_NAND_H
#define __ASM_ARCH_NAND_H
+#include <linux/mtd/partitions.h>
+
struct mxc_nand_platform_data {
int width; /* data bus width in bytes */
int hw_ecc:1; /* 0 if supress hardware ECC */
int flash_bbt:1; /* set to 1 to use a flash based bbt */
+ struct mtd_partition *parts; /* partition table */
+ int nr_parts; /* size of parts */
};
#endif /* __ASM_ARCH_NAND_H */
diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index 6e8aa34..0d76b16 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -832,6 +832,8 @@ static int __init mxcnd_probe(struct platform_device *pdev)
parse_mtd_partitions(mtd, part_probes, &host->parts, 0);
if (nr_parts > 0)
add_mtd_partitions(mtd, host->parts, nr_parts);
+ else if (pdata->parts)
+ add_mtd_partitions(mtd, pdata->parts, pdata->nr_parts);
else
#endif
{
OpenPOWER on IntegriCloud