Message ID | 20221022211318.32009-2-zajec5@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [V3,1/2] dt-bindings: mtd: partitions: support marking rootfs partition | expand |
On Sat, 2022-10-22 at 21:13:18 UTC, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > This adds support for "linux,rootfs" binding that is used to mark flash > partition containing rootfs. 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@milecki.pl> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next, thanks. Miquel
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index 20fcedc3021e..f70a5e66843b 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,17 @@ 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)) { + 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); + } else { + pr_warn("mtd: can't set mtd%d (%s) as root device - mtd must be builtin\n", + mtd->index, mtd->name); + } + } + /* 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