Message ID | 20220321081337.28971-2-patrice.chotard@foss.st.com |
---|---|
State | Accepted |
Commit | 7ab3364c6d1c17b8ee6da523d5729b0248ba63bf |
Delegated to: | Tom Rini |
Headers | show |
Series | mtd: Allow to parse DT partitions for raw nand | expand |
On Mon, Mar 21, 2022 at 09:13:37AM +0100, Patrice Chotard wrote: > In case mtd_info's dev field is not populated (raw nand's case), > use the flash_node new field which reference the DT flash node where > can be found "partitions" node with "fixed-partitions" compatible. > > Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> > > Cc: Farhan Ali <farhan.ali@broadcom.com> > Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> > Cc: Jagan Teki <jagan@amarulasolutions.com> > Cc: Marek Behun <marek.behun@nic.cz> > Cc: Miquel Raynal <miquel.raynal@bootlin.com> > Cc: Simon Glass <sjg@chromium.org> > Cc: Wolfgang Denk <wd@denx.de> Applied to u-boot/master, thanks!
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index 4119ea4ff6..d077897e4a 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -887,10 +887,14 @@ int add_mtd_partitions_of(struct mtd_info *master) ofnode parts, child; int i = 0; - if (!master->dev) + if (!master->dev && !ofnode_valid(master->flash_node)) return 0; - parts = ofnode_find_subnode(mtd_get_ofnode(master), "partitions"); + if (master->dev) + parts = ofnode_find_subnode(mtd_get_ofnode(master), "partitions"); + else + parts = ofnode_find_subnode(master->flash_node, "partitions"); + if (!ofnode_valid(parts) || !ofnode_is_available(parts) || !ofnode_device_is_compatible(parts, "fixed-partitions")) return 0;
In case mtd_info's dev field is not populated (raw nand's case), use the flash_node new field which reference the DT flash node where can be found "partitions" node with "fixed-partitions" compatible. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Cc: Farhan Ali <farhan.ali@broadcom.com> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Jagan Teki <jagan@amarulasolutions.com> Cc: Marek Behun <marek.behun@nic.cz> Cc: Miquel Raynal <miquel.raynal@bootlin.com> Cc: Simon Glass <sjg@chromium.org> Cc: Wolfgang Denk <wd@denx.de> --- drivers/mtd/mtdpart.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)