summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/state/state.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/common/state/state.c b/common/state/state.c
index 6db77f2c18..c3c8b768c7 100644
--- a/common/state/state.c
+++ b/common/state/state.c
@@ -416,6 +416,15 @@ static int of_state_fixup(struct device_node *root, void *ctx)
if (node) {
/* replace existing node - it will be deleted later */
parent = node->parent;
+
+ /*
+ * barebox replaces the state node in the device tree it starts the
+ * kernel with, so a state node that already exists in the device tree
+ * will be overwritten. Warn about this so people do not wonder why
+ * changes in the kernels state node do not have any effect.
+ */
+ if (root != of_get_root_node())
+ dev_warn(&state->dev, "Warning: Kernel devicetree contains state node, replacing it\n");
} else {
char *of_path, *c;