Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -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;