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

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

mtd: onenand: convert to mtd_device_register()



Convert to mtd_device_register() and remove the CONFIG_MTD_PARTITIONS
preprocessor conditionals as partitioning is always available.

Cc: Kyungmin Park <kyungmin.park@samsung.com>
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 47854888
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
menuconfig MTD_ONENAND
	tristate "OneNAND Device Support"
	depends on MTD
	select MTD_PARTITIONS
	help
	  This enables support for accessing all type of OneNAND flash
	  devices. For further information see
+4 −12
Original line number Diff line number Diff line
@@ -30,9 +30,7 @@
 */
#define DRIVER_NAME	"onenand-flash"

#ifdef CONFIG_MTD_PARTITIONS
static const char *part_probes[] = { "cmdlinepart", NULL,  };
#endif

struct onenand_info {
	struct mtd_info		mtd;
@@ -75,15 +73,13 @@ static int __devinit generic_onenand_probe(struct platform_device *pdev)
		goto out_iounmap;
	}

#ifdef CONFIG_MTD_PARTITIONS
	err = parse_mtd_partitions(&info->mtd, part_probes, &info->parts, 0);
	if (err > 0)
		add_mtd_partitions(&info->mtd, info->parts, err);
		mtd_device_register(&info->mtd, info->parts, err);
	else if (err <= 0 && pdata && pdata->parts)
		add_mtd_partitions(&info->mtd, pdata->parts, pdata->nr_parts);
		mtd_device_register(&info->mtd, pdata->parts, pdata->nr_parts);
	else
#endif
		err = add_mtd_device(&info->mtd);
		err = mtd_device_register(&info->mtd, NULL, 0);

	platform_set_drvdata(pdev, info);

@@ -108,11 +104,7 @@ static int __devexit generic_onenand_remove(struct platform_device *pdev)
	platform_set_drvdata(pdev, NULL);

	if (info) {
		if (info->parts)
			del_mtd_partitions(&info->mtd);
		else
			del_mtd_device(&info->mtd);

		mtd_device_unregister(&info->mtd);
		onenand_release(&info->mtd);
		release_mem_region(res->start, size);
		iounmap(info->onenand.base);
+1 −5
Original line number Diff line number Diff line
@@ -4142,12 +4142,8 @@ void onenand_release(struct mtd_info *mtd)
{
	struct onenand_chip *this = mtd->priv;

#ifdef CONFIG_MTD_PARTITIONS
	/* Deregister partitions */
	del_mtd_partitions (mtd);
#endif
	/* Deregister the device */
	del_mtd_device (mtd);
	mtd_device_unregister(mtd);

	/* Free bad block table memory, if allocated */
	if (this->bbm) {