From: Patrice Chotard Date: Mon, 21 Mar 2022 08:13:37 +0000 (+0100) Subject: mtd: Update the way partitions are parsed X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=7ab3364c6d1c17b8ee6da523d5729b0248ba63bf;p=u-boot.git mtd: Update the way partitions are parsed 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 Cc: Farhan Ali Cc: Heinrich Schuchardt Cc: Jagan Teki Cc: Marek Behun Cc: Miquel Raynal Cc: Simon Glass Cc: Wolfgang Denk --- 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;