[PATCH] of: base: ignore disabled memory nodes

Rouven Czerwinski r.czerwinski at pengutronix.de
Mon Nov 9 00:51:50 EST 2020


Qemu with the secure extension enabled will insert a secram node into
the device tree:

  secram at e000000 {
          secure-status = "okay";
          status = "disabled";
          reg = <0x0 0xe000000 0x0 0x1000000>;
          device_type = "memory";
  };

Barebox would previously parse this node, add it as a memory bank and
than reinsert an enabled node into the fixed up device tree.
Fix this by skipping disabled memory nodes.

Signed-off-by: Rouven Czerwinski <r.czerwinski at pengutronix.de>
---
 drivers/of/base.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index 0a2632f963..32cb1e78a5 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -2090,6 +2090,9 @@ int of_add_memory(struct device_node *node, bool dump)
 		if (!resource_size(&res))
 			continue;
 
+		if (!of_device_is_available(node))
+			continue;
+
 		of_add_memory_bank(node, dump, mem_bank_num,
 				res.start, resource_size(&res));
 		mem_bank_num++;
-- 
2.28.0




More information about the barebox mailing list