]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/mtd/maps/rbtx4939-flash.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[karo-tx-linux.git] / drivers / mtd / maps / rbtx4939-flash.c
index 83ed64512c5e6f076192abf097cb9aacde1c2ab6..761fb459d2c74179105fb9ded586681c66ae6aae 100644 (file)
 struct rbtx4939_flash_info {
        struct mtd_info *mtd;
        struct map_info map;
-#ifdef CONFIG_MTD_PARTITIONS
        int nr_parts;
        struct mtd_partition *parts;
-#endif
 };
 
 static int rbtx4939_flash_remove(struct platform_device *dev)
@@ -41,28 +39,18 @@ static int rbtx4939_flash_remove(struct platform_device *dev)
        platform_set_drvdata(dev, NULL);
 
        if (info->mtd) {
-#ifdef CONFIG_MTD_PARTITIONS
                struct rbtx4939_flash_data *pdata = dev->dev.platform_data;
 
-               if (info->nr_parts) {
-                       del_mtd_partitions(info->mtd);
+               if (info->nr_parts)
                        kfree(info->parts);
-               } else if (pdata->nr_parts)
-                       del_mtd_partitions(info->mtd);
-               else
-                       del_mtd_device(info->mtd);
-#else
-               del_mtd_device(info->mtd);
-#endif
+               mtd_device_unregister(info->mtd);
                map_destroy(info->mtd);
        }
        return 0;
 }
 
 static const char *rom_probe_types[] = { "cfi_probe", "jedec_probe", NULL };
-#ifdef CONFIG_MTD_PARTITIONS
 static const char *part_probe_types[] = { "cmdlinepart", NULL };
-#endif
 
 static int rbtx4939_flash_probe(struct platform_device *dev)
 {
@@ -120,23 +108,21 @@ static int rbtx4939_flash_probe(struct platform_device *dev)
        if (err)
                goto err_out;
 
-#ifdef CONFIG_MTD_PARTITIONS
        err = parse_mtd_partitions(info->mtd, part_probe_types,
                                &info->parts, 0);
        if (err > 0) {
-               add_mtd_partitions(info->mtd, info->parts, err);
+               mtd_device_register(info->mtd, info->parts, err);
                info->nr_parts = err;
                return 0;
        }
 
        if (pdata->nr_parts) {
                pr_notice("Using rbtx4939 partition information\n");
-               add_mtd_partitions(info->mtd, pdata->parts, pdata->nr_parts);
+               mtd_device_register(info->mtd, pdata->parts, pdata->nr_parts);
                return 0;
        }
-#endif
 
-       add_mtd_device(info->mtd);
+       mtd_device_register(info->mtd, NULL, 0);
        return 0;
 
 err_out: