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

Commit 09877115 authored by Jamie Iles's avatar Jamie Iles Committed by David Woodhouse
Browse files

mtd: davinci_nand: convert to mtd_device_register()



Convert to mtd_device_register() and remove the check for
mtd_has_partitions() as partitioning is always available.

Signed-off-by: default avatarJamie Iles <jamie@jamieiles.com>
Signed-off-by: default avatarArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent a17f7ca5
Loading
Loading
Loading
Loading
+21 −30
Original line number Diff line number Diff line
@@ -530,6 +530,8 @@ 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)
@@ -749,13 +751,10 @@ static int __init nand_davinci_probe(struct platform_device *pdev)
	if (ret < 0)
		goto err_scan;

	if (mtd_has_partitions()) {
		struct mtd_partition	*mtd_parts = NULL;
		int			mtd_parts_nb = 0;

	if (mtd_has_cmdlinepart()) {
			static const char *probes[] __initconst =
				{ "cmdlinepart", NULL };
		static const char *probes[] __initconst = {
			"cmdlinepart", NULL
		};

		mtd_parts_nb = parse_mtd_partitions(&info->mtd, probes,
						    &mtd_parts, 0);
@@ -768,22 +767,17 @@ static int __init nand_davinci_probe(struct platform_device *pdev)

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

	} else if (pdata->nr_parts) {
		dev_warn(&pdev->dev, "ignoring %d default partitions on %s\n",
				pdata->nr_parts, info->mtd.name);
	}

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

	if (ret < 0)
		goto err_scan;
@@ -824,10 +818,7 @@ static int __exit nand_davinci_remove(struct platform_device *pdev)
	struct davinci_nand_info *info = platform_get_drvdata(pdev);
	int status;

	if (mtd_has_partitions() && info->partitioned)
		status = del_mtd_partitions(&info->mtd);
	else
		status = del_mtd_device(&info->mtd);
	status = mtd_device_unregister(&info->mtd);

	spin_lock_irq(&davinci_nand_lock);
	if (info->chip.ecc.mode == NAND_ECC_HW_SYNDROME)