On 2/27/25 11:14 AM, Bryan Brattlof wrote:
Some device trees may not have a reserved-memory node. Rather than
exiting early we should create a new reserved-memory node along with
the memory carveout for the firmware we (U-Boot) have placed.
Signed-off-by: Bryan Brattlof <b...@ti.com>
---
arch/arm/mach-k3/common_fdt.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-k3/common_fdt.c b/arch/arm/mach-k3/common_fdt.c
index 4a01671156687..361b0c0b31b09 100644
--- a/arch/arm/mach-k3/common_fdt.c
+++ b/arch/arm/mach-k3/common_fdt.c
@@ -122,10 +122,8 @@ int fdt_fixup_reserved(void *blob, const char *name,
/* Find reserved-memory */
nodeoffset = fdt_subnode_offset(blob, 0, "reserved-memory");
- if (nodeoffset < 0) {
- debug("Could not find reserved-memory node\n");
- return 0;
- }
+ if (nodeoffset < 0)
We could also reverse this check and put the node deleting logic
below inside this block. Same effect but removes the need for
a goto for flow control here (goto considered harmful etc..)
if (nodeoffset >= 0) {
/* Find existing matching subnode and remove it */
...
}
Might make the intention a bit much, so either way is fine with me,
Acked-by: Andrew Davis <a...@ti.com>
+ goto add_carveout;
/* Find existing matching subnode and remove it */
fdt_for_each_subnode(subnode, blob, nodeoffset) {
@@ -154,6 +152,7 @@ int fdt_fixup_reserved(void *blob, const char *name,
}
}
+add_carveout:
struct fdt_memory carveout = {
.start = new_address,
.end = new_address + new_size - 1,
---
base-commit: b78f8677cde8b1dde31b66f5b780f2e9b62fba7f
change-id: 20250227-reserved-memory-85f5d409e6a7
Best regards,