From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailout1.samsung.com ([203.254.224.24]) by bombadil.infradead.org with esmtp (Exim 4.68 #1 (Red Hat Linux)) id 1Kv0Yc-00041N-5K for linux-mtd@lists.infradead.org; Wed, 29 Oct 2008 02:13:18 +0000 Received: from epmmp2 (mailout1.samsung.com [203.254.224.24]) by mailout1.samsung.com (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTP id <0K9H007S7A47VC@mailout1.samsung.com> for linux-mtd@lists.infradead.org; Wed, 29 Oct 2008 11:12:07 +0900 (KST) Received: from spapp01.rdscm.com ([165.213.149.150]) by mmp2.samsung.com (iPlanet Messaging Server 5.2 Patch 2 (built Jul 14 2004)) with ESMTPA id <0K9H0018WA472H@mmp2.samsung.com> for linux-mtd@lists.infradead.org; Wed, 29 Oct 2008 11:12:07 +0900 (KST) Date: Wed, 29 Oct 2008 11:12:02 +0900 From: Kyungmin Park Subject: [PATCH] [ONENAND] Add command line partition support on OMAP driver To: linux-mtd@lists.infradead.org, linux-omap@vger.kernel.org Message-id: <20081029021202.GA32306@july> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Add command line partition support on OMAP driver Signed-off-by: Kyungmin Park --- diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c index a9885d1..60cf668 100644 --- a/drivers/mtd/onenand/omap2.c +++ b/drivers/mtd/onenand/omap2.c @@ -51,6 +51,10 @@ #define ONENAND_IO_SIZE SZ_128K #define ONENAND_BUFRAM_SIZE (1024 * 5) +#ifdef CONFIG_MTD_PARTITIONS +static const char *part_probes[] = { "cmdlinepart", NULL, }; +#endif + struct omap2_onenand { struct platform_device *pdev; int gpmc_cs; @@ -685,9 +689,12 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev) } #ifdef CONFIG_MTD_PARTITIONS - if (pdata->parts != NULL) + r = parse_mtd_partitions(&c->mtd, part_probes, &c->parts, 0); + if (r > 0) + r = add_mtd_partitions(&c->mtd, c->parts, r); + else if (pdata->parts != NULL) r = add_mtd_partitions(&c->mtd, pdata->parts, - pdata->nr_parts); + pdata->nr_parts); else #endif r = add_mtd_device(&c->mtd);