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

Tom Rini trini at konsulko.com
Thu Apr 6 17:25:27 CEST 2023


On Tue, Apr 04, 2023 at 06:18:03PM +0200, Francesco Dolcini wrote:
> +Stefano
> 
> On Mon, Feb 06, 2023 at 06:17:31PM -0500, Tom Rini wrote:
> > On Mon, Feb 06, 2023 at 11:48:36PM +0100, 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 [0].
> > > 
> > > 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.
> > > 
> > > When the partition list is static the preferred way to pass the mtd
> > > partition list to the kernel is to either define those in the source DTS
> > > file or use mtdparts= in the command line.
> > > Tweaking the DT from U-Boot should be avoided, unless some dynamic
> > > changes are required, since it proved to be problematic when not
> > > following the evolution of the "standard".
> > > 
> > > Link: https://lore.kernel.org/all/Y4dgBTGNWpM6SQXI@francesco-nb.int.toradex.com/
> > > Link: https://lore.kernel.org/all/20221202071900.1143950-1-francesco@dolcini.it/
> > > Cc: Marek Vasut <marex at denx.de>
> > > Cc: Miquel Raynal <miquel.raynal at bootlin.com>
> > > Signed-off-by: Francesco Dolcini <francesco.dolcini at toradex.com>
> > > ---
> > > v2: improved commit message
> > > ---
> > >  common/fdt_support.c | 45 ++++++++++++++++++++++++++++++++++----------
> > >  1 file changed, 35 insertions(+), 10 deletions(-)
> > 
> > I'm dropping the linux-mtd list here and adding a bunch more platform
> > maintainers. In general, calling fdt_fixup_mtdparts is the wrong choice.
> > I see we do have a few cases in U-Boot where we're clearly doing
> > something dynamic to the partition table, but it looks like at first
> > glance most callers are using this hook when they should either be
> > having the partition map in the device tree properly (and using one of
> > the appropriate bindings) or passing the map in via the kernel command
> > line. I would like to ask everyone I've added to the list here to
> > please audit your platform and update it as needed. Thanks!
> 
> Hello Tom,
> what should we do with this patch? No feedback so far, apart this email
> from you.
> 
> Stefano: maybe you can pick patches 2 and 3 ?

I thought someone chimed in for the STM32 side? But yes, patches 2 and 3
should get picked up for sure.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20230406/8243fd95/attachment.sig>


More information about the U-Boot mailing list