The stickypage is described as "barebox,stickypage", "syscon", but the
fixup that turns it into a hostfile node replaces the whole compatible
list with just "barebox,hostfile". Nothing can look it up as a syscon
afterwards, so children like a syscon-reboot-mode would fail with
-EINVAL despite the DT saying otherwise.

Let's keep the "syscon" compatible when rewriting the node.

Signed-off-by: Ahmad Fatoum <[email protected]>
---
 arch/sandbox/board/hostfile.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/sandbox/board/hostfile.c b/arch/sandbox/board/hostfile.c
index de63ab5a9118..0ad0f76b4210 100644
--- a/arch/sandbox/board/hostfile.c
+++ b/arch/sandbox/board/hostfile.c
@@ -263,7 +263,8 @@ static int of_hostfile_map_fixup(struct device_node *root, 
void *ctx)
                }
 
                of_property_write_string(node, "barebox,filename", filename);
-               of_property_write_string(node, "compatible", 
"barebox,hostfile");
+               of_property_write_strings(node, "compatible", 
"barebox,hostfile",
+                                         "syscon", NULL);
        }
 
        for_each_compatible_node_from(node, root, NULL, "barebox,hostfile") {
-- 
2.47.3


Reply via email to