mtd: onenand: convert to mtd_device_register()
authorJamie Iles <jamie@jamieiles.com>
Mon, 23 May 2011 09:22:56 +0000 (10:22 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Wed, 25 May 2011 01:21:19 +0000 (02:21 +0100)
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: Jamie Iles <jamie@jamieiles.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/onenand/Kconfig
drivers/mtd/onenand/generic.c
drivers/mtd/onenand/onenand_base.c

index 4f426195f8dbf5b3f78b5da6fd59f3d8f7515485..772ad2966619ed56053a07b6e9329556edafe245 100644 (file)
@@ -1,7 +1,6 @@
 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
index ac08750748a351ec3e70dd32825b5385f2a8966e..2d70d354d846b6d36efb334434533445c0e21270 100644 (file)
@@ -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);
index 289ee3b1b03075d07604da88ee03141824f8f694..ac9e959802a7b113e838ecb8d6e24aee5b7df524 100644 (file)
@@ -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) {