Re: [PATCH 2/2] mtd: core: set ROOT_DEV for partitions marked as root devices in DT

From: Rafał Miłecki
Date: Wed Oct 19 2022 - 08:45:43 EST


On 19.10.2022 13:50, Rafał Miłecki wrote:
From: Rafał Miłecki <rafal@xxxxxxxxxx>

This adds support for "linux,root-device" binding that is used to mark
root device MTD partition. It's useful for devices using device tree
that don't have bootloader passing root info in cmdline.

Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx>
---
drivers/mtd/mtdcore.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 07249af4f890..034b06aff660 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -28,6 +28,7 @@
#include <linux/leds.h>
#include <linux/debugfs.h>
#include <linux/nvmem-provider.h>
+#include <linux/root_dev.h>
#include <linux/mtd/mtd.h>
#include <linux/mtd/partitions.h>
@@ -735,6 +736,12 @@ int add_mtd_device(struct mtd_info *mtd)
not->add(mtd);
mutex_unlock(&mtd_table_mutex);
+
+ if (of_find_property(mtd_get_of_node(mtd), "linux,rootfs", NULL)) {

I forgot to re-do "format-patch" after "commit --amend".
s/linux,rootfs/linux,root-device/

I'll fix that in V2 after giving this patchset some time to review.


+ pr_info("mtd: setting mtd%d (%s) as root device\n", mtd->index, mtd->name);
+ ROOT_DEV = MKDEV(MTD_BLOCK_MAJOR, mtd->index);
+ }
+
/* We _know_ we aren't being removed, because
our caller is still holding us here. So none
of this try_ nonsense, and no bitching about it