Message ID | 20221019115041.31805-1-zajec5@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] dt-bindings: mtd: partitions: support marking root device partition | expand |
On 19.10.2022 13:50, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > 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@milecki.pl> > --- > 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
On Wed, Oct 19, 2022 at 01:53:15PM +0200, Rafał Miłecki wrote: > On 19.10.2022 13:50, Rafał Miłecki wrote: > > From: Rafał Miłecki <rafal@milecki.pl> > > > > 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@milecki.pl> > > --- > > 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/ It's really the filesystem you are tagging, not a device, so I think 'linux,rootfs' is better. Rob
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)) { + 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