#define P4e_s(a)       (TF(a & NAND_Ecc_P4e)           << 0)
 #define P4o_s(a)       (TF(a & NAND_Ecc_P4o)           << 1)
 
-#ifdef CONFIG_MTD_PARTITIONS
 static const char *part_probes[] = { "cmdlinepart", NULL };
-#endif
 
 /* oob info generated runtime depending on ecc algorithm and layout selected */
 static struct nand_ecclayout omap_oobinfo;
                goto out_release_mem_region;
        }
 
-#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 (pdata->parts)
-               add_mtd_partitions(&info->mtd, pdata->parts, pdata->nr_parts);
+               mtd_device_register(&info->mtd, pdata->parts, pdata->nr_parts);
        else
-#endif
-               add_mtd_device(&info->mtd);
+               mtd_device_register(&info->mtd, NULL, 0);
 
        platform_set_drvdata(pdev, &info->mtd);