Commit 7d010d2e authored by Dmitry Eremin-Solenikov's avatar Dmitry Eremin-Solenikov Committed by Artem Bityutskiy

mtd: onenand/omap2.c: use mtd_device_parse_register

Replace custom invocations of parse_mtd_partitions and mtd_device_register
with common mtd_device_parse_register call. This would bring: standard
handling of all errors, fallback to default partitions, etc.

Axel Lin <axel.lin@gmail.com>: fixed build breakage
Signed-off-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent 92ffb00d
......@@ -57,7 +57,6 @@ struct omap2_onenand {
unsigned long phys_base;
int gpio_irq;
struct mtd_info mtd;
struct mtd_partition *parts;
struct onenand_chip onenand;
struct completion irq_done;
struct completion dma_done;
......@@ -752,13 +751,9 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)
if ((r = onenand_scan(&c->mtd, 1)) < 0)
goto err_release_regulator;
r = parse_mtd_partitions(&c->mtd, NULL, &c->parts, 0);
if (r > 0)
r = mtd_device_register(&c->mtd, c->parts, r);
else if (pdata->parts != NULL)
r = mtd_device_register(&c->mtd, pdata->parts, pdata->nr_parts);
else
r = mtd_device_register(&c->mtd, NULL, 0);
r = mtd_device_parse_register(&c->mtd, NULL, 0,
pdata ? pdata->parts : NULL,
pdata ? pdata->nr_parts : 0);
if (r)
goto err_release_onenand;
......@@ -785,7 +780,6 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)
err_free_cs:
gpmc_cs_free(c->gpmc_cs);
err_kfree:
kfree(c->parts);
kfree(c);
return r;
......@@ -808,7 +802,6 @@ static int __devexit omap2_onenand_remove(struct platform_device *pdev)
iounmap(c->onenand.base);
release_mem_region(c->phys_base, ONENAND_IO_SIZE);
gpmc_cs_free(c->gpmc_cs);
kfree(c->parts);
kfree(c);
return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment