Subject: [PATCH] mtd: support OpenWrt's MTD_ROOTFS_ROOT_DEV
From: Rafał Miłecki <[email-masked]>
Date: Mon, 7 Nov 2022 23:48:24 +0100

This allows setting ROOT_DEV to MTD partition named "rootfs".

Signed-off-by: Rafał Miłecki <[email-masked]>
---

--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -758,7 +758,8 @@ int add_mtd_device(struct mtd_info *mtd)
 
 	mutex_unlock(&mtd_table_mutex);
 
-	if (of_find_property(mtd_get_of_node(mtd), "linux,rootfs", NULL)) {
+	if (of_find_property(mtd_get_of_node(mtd), "linux,rootfs", NULL) ||
+	    (IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) && !strcmp(mtd->name, "rootfs") && ROOT_DEV == 0)) {
 		if (IS_BUILTIN(CONFIG_MTD)) {
 			pr_info("mtd: setting mtd%d (%s) as root device\n", mtd->index, mtd->name);
 			ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, mtd->index);