[PATCH v1 2/2] mtd: Update the way partitions are parsed
Patrice Chotard
patrice.chotard at foss.st.com
Mon Mar 21 09:13:37 CET 2022
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 at foss.st.com>
Cc: Farhan Ali <farhan.ali at broadcom.com>
Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
Cc: Jagan Teki <jagan at amarulasolutions.com>
Cc: Marek Behun <marek.behun at nic.cz>
Cc: Miquel Raynal <miquel.raynal at bootlin.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Wolfgang Denk <wd at denx.de>
---
drivers/mtd/mtdpart.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
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;
--
2.17.1
More information about the U-Boot
mailing list