[PATCH v1 1/3] fdt: validate/fix cells count on mtdpart fixup

Miquel Raynal miquel.raynal at bootlin.com
Tue Jan 24 00:58:15 PST 2023


Hi Francesco,

francesco at dolcini.it wrote on Tue, 24 Jan 2023 09:41:41 +0100:

> Hello Miquel,
> 
> On Mon, Jan 23, 2023 at 10:56:10AM +0100, Miquel Raynal wrote:
> > marex at denx.de wrote on Tue, 17 Jan 2023 01:59:54 +0100:
> >   
> > > On 1/16/23 19:00, Francesco Dolcini wrote:  
> > > > On Mon, Jan 16, 2023 at 06:54:44PM +0100, Marek Vasut wrote:    
> > > >> On 1/16/23 15:20, Francesco Dolcini wrote:    
> > > >>> On Sun, Jan 15, 2023 at 03:35:25PM +0100, Marek Vasut wrote:    
> > > >>>> On 1/13/23 19:45, Francesco Dolcini wrote:    
> > > >>>>> From: Francesco Dolcini <francesco.dolcini at toradex.com>
> > > >>>>>
> > > >>>>> Fixup #size-cells value when updating the MTD partitions, this is
> > > >>>>> required to prevent issues in case the MTD parent set #size-cells to
> > > >>>>> zero.
> > > >>>>> This could happen for example in the legacy case in which the partitions
> > > >>>>> are created as direct child of the mtd node and that specific node has
> > > >>>>> no children. Recent clean-up on Linux device tree files created a boot
> > > >>>>> regression on colibri-imx7.
> > > >>>>>
> > > >>>>> This fixup has the limitation to assume 32-bit (#size-cells=1)
> > > >>>>> addressing, therefore it will not work with device bigger than 4GiB.
> > > >>>>>
> > > >>>>> This change also enforce #address-cells to be the same as #size-cells,
> > > >>>>> this was already silently enforced by fdt_node_set_part_info(), now this
> > > >>>>> is checked explicitly and partition fixup will just fail in such case.
> > > >>>>>
> > > >>>>> In general board should not generally need nor use this functionality
> > > >>>>> and should be just deprecated, passing mtdparts= in the kernel command
> > > >>>>> line is the preferred way according to Linux MTD subsystem maintainer.  
> > 
> > Just to be clear, I'm perfectly fine with the partitions being either
> > on the cmdline or in the DT without preference (well, the cmdline only
> > works with the simple generic parser, but whatever). What I really
> > meant is that tweaking the DT from U-Boot should be rare and in no case
> > the "right thing to add partitions".  
> 
> Miquel, should I send a v2 to clarify the commit message or you do not
> mind keeping it as it is?

I think it is worth mentioning, also adding Tom's remark:
- Describing the partitions on the cmdline or in the DT is the right
  thing to do.
- Tweaking the DT to add static partitions should be forbidden.
- In some rare legacy cases, dynamic changes to the partitions might be
  tolerated.

Thanks,
Miquèl



More information about the linux-mtd mailing list