[PATCH master] of: override existing reg property in of_fixup_reserved_memory

Ahmad Fatoum a.fatoum at pengutronix.de
Thu Jun 8 07:38:18 PDT 2023


of_new_property doesn't care for existing properties and would happily
add a property that already exists leading Linux to trip over it when
creating the VFS view into the device tree.

Fix this by using of_set_property, which would delete an existing
reg property first, before adding it anew.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 common/oftree.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/common/oftree.c b/common/oftree.c
index 620de6ed5649..3e85070d113c 100644
--- a/common/oftree.c
+++ b/common/oftree.c
@@ -308,8 +308,8 @@ int of_fixup_reserved_memory(struct device_node *root, void *_res)
 	of_write_number(reg, res->start, addr_n_cells);
 	of_write_number(reg + addr_n_cells, resource_size(res), size_n_cells);
 
-	of_new_property(child, "reg", reg,
-			(addr_n_cells + size_n_cells) * sizeof(*reg));
+	of_set_property(child, "reg", reg,
+			(addr_n_cells + size_n_cells) * sizeof(*reg), true);
 
 	return 0;
 }
-- 
2.39.2




More information about the barebox mailing list