mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-15 22:57:40 +07:00
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: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
This commit is contained in:
parent
92ffb00d11
commit
7d010d2e77
@ -57,7 +57,6 @@ struct omap2_onenand {
|
|||||||
unsigned long phys_base;
|
unsigned long phys_base;
|
||||||
int gpio_irq;
|
int gpio_irq;
|
||||||
struct mtd_info mtd;
|
struct mtd_info mtd;
|
||||||
struct mtd_partition *parts;
|
|
||||||
struct onenand_chip onenand;
|
struct onenand_chip onenand;
|
||||||
struct completion irq_done;
|
struct completion irq_done;
|
||||||
struct completion dma_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)
|
if ((r = onenand_scan(&c->mtd, 1)) < 0)
|
||||||
goto err_release_regulator;
|
goto err_release_regulator;
|
||||||
|
|
||||||
r = parse_mtd_partitions(&c->mtd, NULL, &c->parts, 0);
|
r = mtd_device_parse_register(&c->mtd, NULL, 0,
|
||||||
if (r > 0)
|
pdata ? pdata->parts : NULL,
|
||||||
r = mtd_device_register(&c->mtd, c->parts, r);
|
pdata ? pdata->nr_parts : 0);
|
||||||
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);
|
|
||||||
if (r)
|
if (r)
|
||||||
goto err_release_onenand;
|
goto err_release_onenand;
|
||||||
|
|
||||||
@ -785,7 +780,6 @@ static int __devinit omap2_onenand_probe(struct platform_device *pdev)
|
|||||||
err_free_cs:
|
err_free_cs:
|
||||||
gpmc_cs_free(c->gpmc_cs);
|
gpmc_cs_free(c->gpmc_cs);
|
||||||
err_kfree:
|
err_kfree:
|
||||||
kfree(c->parts);
|
|
||||||
kfree(c);
|
kfree(c);
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
@ -808,7 +802,6 @@ static int __devexit omap2_onenand_remove(struct platform_device *pdev)
|
|||||||
iounmap(c->onenand.base);
|
iounmap(c->onenand.base);
|
||||||
release_mem_region(c->phys_base, ONENAND_IO_SIZE);
|
release_mem_region(c->phys_base, ONENAND_IO_SIZE);
|
||||||
gpmc_cs_free(c->gpmc_cs);
|
gpmc_cs_free(c->gpmc_cs);
|
||||||
kfree(c->parts);
|
|
||||||
kfree(c);
|
kfree(c);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user