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

Commit 5b55b1eb authored by Dmitry Eremin-Solenikov's avatar Dmitry Eremin-Solenikov Committed by Artem Bityutskiy
Browse files

mtd: davinci_nand.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.

Signed-off-by: default avatarDmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
parent bbd86c9c
Loading
Loading
Loading
Loading
+2 −23
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ struct davinci_nand_info {

	struct device		*dev;
	struct clk		*clk;
	bool			partitioned;

	bool			is_readmode;

@@ -530,8 +529,6 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
	int				ret;
	uint32_t			val;
	nand_ecc_modes_t		ecc_mode;
	struct mtd_partition		*mtd_parts = NULL;
	int				mtd_parts_nb = 0;

	/* insist on board-specific configuration */
	if (!pdata)
@@ -753,26 +750,8 @@ syndrome_done:
	if (ret < 0)
		goto err_scan;

	mtd_parts_nb = parse_mtd_partitions(&info->mtd, NULL, &mtd_parts, 0);

	if (mtd_parts_nb <= 0) {
		mtd_parts = pdata->parts;
		mtd_parts_nb = pdata->nr_parts;
	}

	/* Register any partitions */
	if (mtd_parts_nb > 0) {
		ret = mtd_device_register(&info->mtd, mtd_parts,
					  mtd_parts_nb);
		if (ret == 0)
			info->partitioned = true;
	}

	/* If there's no partition info, just package the whole chip
	 * as a single MTD device.
	 */
	if (!info->partitioned)
		ret = mtd_device_register(&info->mtd, NULL, 0) ? -ENODEV : 0;
	ret = mtd_device_parse_register(&info->mtd, NULL, 0,
			pdata->parts, pdata->nr_parts);

	if (ret < 0)
		goto err_scan;