Skip to content

Commit

Permalink
mtd: onenand/omap2.c: use mtd_device_parse_register
Browse files Browse the repository at this point in the history
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: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
  • Loading branch information
Dmitry Eremin-Solenikov authored and Artem Bityutskiy committed Sep 11, 2011
1 parent 92ffb00 commit 7d010d2
Showing 1 changed file with 3 additions and 10 deletions.
13 changes: 3 additions & 10 deletions drivers/mtd/onenand/omap2.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;

Expand All @@ -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;
Expand All @@ -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;
Expand Down

0 comments on commit 7d010d2

Please sign in to comment.