|
@@ -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);
|