diff mbox series

[v2,2/2] fdt_support: skip MTD node with "disabled" in fdt_fixup_mtdparts()

Message ID 20200717014619.756044-2-yamada.masahiro@socionext.com
State Accepted
Commit 6ec7545b99d62a5d931473e853aea30f8b9b2aa3
Headers show
Series [v2,1/2] fdt_support: call mtdparts_init() after finding MTD node to fix up | expand

Commit Message

Masahiro Yamada July 17, 2020, 1:46 a.m. UTC
Currently, fdt_fixup_mtdparts() only checks the compatible property.
It is pointless to fix up the disabled node.

Skip the node if it has the property:

  status = "disabled"

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>

Reviewed-by: Simon Glass <sjg@chromium.org>

---

(no changes since v1)

 common/fdt_support.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

-- 
2.25.1
diff mbox series

Patch

diff --git a/common/fdt_support.c b/common/fdt_support.c
index cf09c3c5fb..1ddcc53556 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -955,9 +955,16 @@  void fdt_fixup_mtdparts(void *blob, const struct node_info *node_info,
 
 	for (i = 0; i < node_info_size; i++) {
 		idx = 0;
-		noff = fdt_node_offset_by_compatible(blob, -1,
-						     node_info[i].compat);
-		while (noff != -FDT_ERR_NOTFOUND) {
+		noff = -1;
+
+		while ((noff = fdt_node_offset_by_compatible(blob, noff,
+						node_info[i].compat)) >= 0) {
+			const char *prop;
+
+			prop = fdt_getprop(blob, noff, "status", NULL);
+			if (prop && !strcmp(prop, "disabled"))
+				continue;
+
 			debug("%s: %s, mtd dev type %d\n",
 				fdt_get_name(blob, noff, 0),
 				node_info[i].compat, node_info[i].type);
@@ -973,10 +980,6 @@  void fdt_fixup_mtdparts(void *blob, const struct node_info *node_info,
 				if (fdt_node_set_part_info(blob, noff, dev))
 					return; /* return on error */
 			}
-
-			/* Jump to next flash node */
-			noff = fdt_node_offset_by_compatible(blob, noff,
-							     node_info[i].compat);
 		}
 	}
 }