From: Gabor Juhos Subject: kernel/3.1[02]: move MTD root device setup code to mtdcore The current code only allows to automatically set root device on MTD partitions. Move the code to MTD core to allow to use it with all MTD devices. Signed-off-by: Gabor Juhos --- drivers/mtd/mtdcore.c | 10 ++++++++++ 1 file changed, 10 insertions(+) --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -694,6 +695,16 @@ int add_mtd_device(struct mtd_info *mtd) of this try_ nonsense, and no bitching about it either. :) */ __module_get(THIS_MODULE); + + if (!strcmp(mtd->name, "rootfs") && + IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) && + ROOT_DEV == 0) { + unsigned int index = mtd->index; + pr_notice("mtd: device %d (%s) set to be root filesystem\n", + mtd->index, mtd->name); + ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, index); + } + return 0; fail_nvmem_add: