Re: [PATCH v4 3/7] dt-bindings: mmc: add property for partitions node in mmc-card node

Christian Marangi
2024-08-21T09:52:47Z

On Tue, Aug 13, 2024 at 02:07:34PM -0600, Rob Herring wrote:
> On Fri, Aug 09, 2024 at 07:21:01PM +0200, Christian Marangi wrote:
> > Add property for defining partitions node in mmc-card node to define
> > partitions in DT by the use of the block2mtd module to use block
> > devices as MTD.
>
> You justified patch 1 saying eMMC already supported this, but then here
> you add support.
>
> Both are a NAK for me as both already have a way to describe partitions
> with GPT.
>

I think this got a bit confused and hope we can find a way to add
support for this.

What is "already supported" is assigning an OF node so driver can
reference it. This patch was just adding the nodes in the schema to say
that partitions can be defined.

I think what is not clear is that block devices might be used as raw
devices without a partition table defined in the device. In such case
it's the kernel that define a fixed partition table.

One example is [1] where the partition table is provided by cmdline.
Similar to cmdlinepart MTD parser.

The use of block2mtd is just to make use of the MTD parser system.

Considering
- eMMC is soldered to the device (no dynamic scan)
- cmdline might be not tunable and hardcoding it might also be
problematic (as some cmdline needs to be used)
- concept of fixed partition for block device is already a thing and
used a lot (android AFAIK)

I think it should be acceptable to introduce in DT support for defining
fixed partition for block devices and some kind of parser system similar
to MTD. What do you think? Would this be more acceptable? Idea is to
just have a DT schema that makes use of the values that can be set in
[1].

Hope we can find a solution to this, I'm totally OK for dropping NVMe as
I understand it's PCIe stuff and very dynamic but OEM are making lots of
use of eMMC and are starting to use these strange way (block2mtd) as we
currently don't give a proper and easy solution for the task.

[1] https://github.com/torvalds/linux/blob/master/Documentation/block/cmdline-partition.rst

> >
> > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > ---
> > .../devicetree/bindings/mmc/mmc-card.yaml | 40 +++++++++++++++++++
> > 1 file changed, 40 insertions(+)

--
Ansuel