linux-mtd.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 4/5] mtd_blkdevs: add option to enable scanning for partitions
@ 2022-05-12 19:39 Daniel Golle
  2022-06-03 13:48 ` Miquel Raynal
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Golle @ 2022-05-12 19:39 UTC (permalink / raw)
  To: linux-block, linux-efi, linux-mtd, linux-kernel
  Cc: Tom Rini, Jens Axboe, Davidlohr Bueso, Miquel Raynal,
	Richard Weinberger, Vignesh Raghavendra, Masahiro Yamada

Add Kconfig boolean CONFIG_MTD_BLOCK_PARTITIONS and enable block
partition parsers on non-NAND mtdblock devices in case it is selected.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
---
 drivers/mtd/Kconfig       | 11 +++++++++++
 drivers/mtd/mtd_blkdevs.c |  4 +++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
index 796a2eccbef0b8..12874dec15692a 100644
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
@@ -69,6 +69,17 @@ config MTD_BLOCK_RO
 	  You do not need this option for use with the DiskOnChip devices. For
 	  those, enable NFTL support (CONFIG_NFTL) instead.
 
+config MTD_BLOCK_PARTITIONS
+	bool "Scan for partitions on MTD block devices"
+	depends on MTD_BLOCK || MTD_BLOCK_RO
+	default y if FIT_PARTITION
+	help
+	  Scan MTD block devices for partitions (ie. MBR, GPT, uImage.FIT, ...).
+	  (NAND devices are omitted, ubiblock should be used instead when)
+
+	  Unless your MTD partitions contain sub-partitions mapped using a
+	  partition table, say no.
+
 comment "Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK."
 	depends on MTD_BLOCK || MTD_BLOCK_RO
 
diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
index f7317211146550..c67ce2e6fbeb0a 100644
--- a/drivers/mtd/mtd_blkdevs.c
+++ b/drivers/mtd/mtd_blkdevs.c
@@ -359,7 +359,9 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
 	} else {
 		snprintf(gd->disk_name, sizeof(gd->disk_name),
 			 "%s%d", tr->name, new->devnum);
-		gd->flags |= GENHD_FL_NO_PART;
+
+		if (!IS_ENABLED(CONFIG_MTD_BLOCK_PARTITIONS) || mtd_type_is_nand(new->mtd))
+			gd->flags |= GENHD_FL_NO_PART;
 	}
 
 	set_capacity(gd, ((u64)new->size * tr->blksize) >> 9);
-- 
2.36.0


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 4/5] mtd_blkdevs: add option to enable scanning for partitions
  2022-05-12 19:39 [PATCH v3 4/5] mtd_blkdevs: add option to enable scanning for partitions Daniel Golle
@ 2022-06-03 13:48 ` Miquel Raynal
  2022-06-07  0:42   ` Daniel Golle
  0 siblings, 1 reply; 3+ messages in thread
From: Miquel Raynal @ 2022-06-03 13:48 UTC (permalink / raw)
  To: Daniel Golle
  Cc: linux-block, linux-efi, linux-mtd, linux-kernel, Tom Rini,
	Jens Axboe, Davidlohr Bueso, Richard Weinberger,
	Vignesh Raghavendra, Masahiro Yamada

Hi Daniel,

daniel@makrotopia.org wrote on Thu, 12 May 2022 20:39:27 +0100:

> Add Kconfig boolean CONFIG_MTD_BLOCK_PARTITIONS and enable block
> partition parsers on non-NAND mtdblock devices in case it is selected.
> 
> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
> ---
>  drivers/mtd/Kconfig       | 11 +++++++++++
>  drivers/mtd/mtd_blkdevs.c |  4 +++-
>  2 files changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
> index 796a2eccbef0b8..12874dec15692a 100644
> --- a/drivers/mtd/Kconfig
> +++ b/drivers/mtd/Kconfig
> @@ -69,6 +69,17 @@ config MTD_BLOCK_RO
>  	  You do not need this option for use with the DiskOnChip devices. For
>  	  those, enable NFTL support (CONFIG_NFTL) instead.
>  
> +config MTD_BLOCK_PARTITIONS
> +	bool "Scan for partitions on MTD block devices"
> +	depends on MTD_BLOCK || MTD_BLOCK_RO
> +	default y if FIT_PARTITION
> +	help
> +	  Scan MTD block devices for partitions (ie. MBR, GPT, uImage.FIT, ...).
> +	  (NAND devices are omitted, ubiblock should be used instead when)
> +
> +	  Unless your MTD partitions contain sub-partitions mapped using a
> +	  partition table, say no.
> +
>  comment "Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK."
>  	depends on MTD_BLOCK || MTD_BLOCK_RO
>  
> diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
> index f7317211146550..c67ce2e6fbeb0a 100644
> --- a/drivers/mtd/mtd_blkdevs.c
> +++ b/drivers/mtd/mtd_blkdevs.c
> @@ -359,7 +359,9 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
>  	} else {
>  		snprintf(gd->disk_name, sizeof(gd->disk_name),
>  			 "%s%d", tr->name, new->devnum);
> -		gd->flags |= GENHD_FL_NO_PART;
> +
> +		if (!IS_ENABLED(CONFIG_MTD_BLOCK_PARTITIONS) || mtd_type_is_nand(new->mtd))
> +			gd->flags |= GENHD_FL_NO_PART;

I really wonder if we need this in mtdblock ? Isn't ubiblock enough?

Anyhow,
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>

I'll let Richard ack the ubiblock patch.

Thanks,
Miquèl

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3 4/5] mtd_blkdevs: add option to enable scanning for partitions
  2022-06-03 13:48 ` Miquel Raynal
@ 2022-06-07  0:42   ` Daniel Golle
  0 siblings, 0 replies; 3+ messages in thread
From: Daniel Golle @ 2022-06-07  0:42 UTC (permalink / raw)
  To: Miquel Raynal
  Cc: linux-block, linux-efi, linux-mtd, linux-kernel, Tom Rini,
	Jens Axboe, Davidlohr Bueso, Richard Weinberger,
	Vignesh Raghavendra, Masahiro Yamada

On Fri, Jun 03, 2022 at 03:48:04PM +0200, Miquel Raynal wrote:
> Hi Daniel,
> 
> daniel@makrotopia.org wrote on Thu, 12 May 2022 20:39:27 +0100:
> 
> > Add Kconfig boolean CONFIG_MTD_BLOCK_PARTITIONS and enable block
> > partition parsers on non-NAND mtdblock devices in case it is selected.
> > 
> > Signed-off-by: Daniel Golle <daniel@makrotopia.org>
> > ---
> >  drivers/mtd/Kconfig       | 11 +++++++++++
> >  drivers/mtd/mtd_blkdevs.c |  4 +++-
> >  2 files changed, 14 insertions(+), 1 deletion(-)
> > 
> > diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
> > index 796a2eccbef0b8..12874dec15692a 100644
> > --- a/drivers/mtd/Kconfig
> > +++ b/drivers/mtd/Kconfig
> > @@ -69,6 +69,17 @@ config MTD_BLOCK_RO
> >  	  You do not need this option for use with the DiskOnChip devices. For
> >  	  those, enable NFTL support (CONFIG_NFTL) instead.
> >  
> > +config MTD_BLOCK_PARTITIONS
> > +	bool "Scan for partitions on MTD block devices"
> > +	depends on MTD_BLOCK || MTD_BLOCK_RO
> > +	default y if FIT_PARTITION
> > +	help
> > +	  Scan MTD block devices for partitions (ie. MBR, GPT, uImage.FIT, ...).
> > +	  (NAND devices are omitted, ubiblock should be used instead when)
> > +
> > +	  Unless your MTD partitions contain sub-partitions mapped using a
> > +	  partition table, say no.
> > +
> >  comment "Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK."
> >  	depends on MTD_BLOCK || MTD_BLOCK_RO
> >  
> > diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c
> > index f7317211146550..c67ce2e6fbeb0a 100644
> > --- a/drivers/mtd/mtd_blkdevs.c
> > +++ b/drivers/mtd/mtd_blkdevs.c
> > @@ -359,7 +359,9 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
> >  	} else {
> >  		snprintf(gd->disk_name, sizeof(gd->disk_name),
> >  			 "%s%d", tr->name, new->devnum);
> > -		gd->flags |= GENHD_FL_NO_PART;
> > +
> > +		if (!IS_ENABLED(CONFIG_MTD_BLOCK_PARTITIONS) || mtd_type_is_nand(new->mtd))
> > +			gd->flags |= GENHD_FL_NO_PART;
> 
> I really wonder if we need this in mtdblock ? Isn't ubiblock enough?

One of the ideas behind this series is to be able to use the exact same
image (which includes a rootfs filesystem sub-image) on devices with
different boot storage options instead of having to write kernel and
root filesystems separately in a storage-type specific manner.

So the very same uImage.FIT on devices with block-based storage can be
written into a GPT partition (see 3/5), on devices with NAND flash
where UBI is used into a UBI volume (see 5/5) and on devices with NOR
flash into an MTD partition (this patch).

> 
> Anyhow,
> Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>

Thank you for the review!


> 
> I'll let Richard ack the ubiblock patch.
> 
> Thanks,
> Miquèl
> 
> ______________________________________________________
> Linux MTD discussion mailing list
> http://lists.infradead.org/mailman/listinfo/linux-mtd/

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-06-07  0:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-12 19:39 [PATCH v3 4/5] mtd_blkdevs: add option to enable scanning for partitions Daniel Golle
2022-06-03 13:48 ` Miquel Raynal
2022-06-07  0:42   ` Daniel Golle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).