We should not delete MTD partitions when we registered a MTD
device.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
struct mtd_partition *parts;
struct mtd_info *mtd;
int num_subdev;
struct mtd_partition *parts;
struct mtd_info *mtd;
int num_subdev;
struct sa_subdev_info subdev[0];
};
struct sa_subdev_info subdev[0];
};
- del_mtd_partitions(info->mtd);
-
+ if (info->nr_parts == 0)
+ del_mtd_device(info->mtd);
+#ifdef CONFIG_MTD_PARTITIONS
+ else
+ del_mtd_partitions(info->mtd);
+#endif
#ifdef CONFIG_MTD_CONCAT
if (info->mtd != info->subdev[0].mtd)
mtd_concat_destroy(info->mtd);
#ifdef CONFIG_MTD_CONCAT
if (info->mtd != info->subdev[0].mtd)
mtd_concat_destroy(info->mtd);
add_mtd_partitions(info->mtd, parts, nr_parts);
}
add_mtd_partitions(info->mtd, parts, nr_parts);
}
+ info->nr_parts = nr_parts;
+
dev_set_drvdata(dev, info);
err = 0;
dev_set_drvdata(dev, info);
err = 0;