[PATCH 2/4] state: warn when a state node will be overwritten
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Sun May 7 23:15:25 PDT 2017
On Thu, May 04, 2017 at 01:02:17PM +0200, Sascha Hauer wrote:
> People do not seem to know that a state node in the kernel
> device tree will be overwritten by barebox. Print a warning
> when this happens so that people can get an idea why changes
> in the kernel device tree state node do not have any effect.
>
> Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> ---
> common/state/state.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> 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");
Would it make sense to only issue this warning if there are differences
between the replacing and the replaced node? Otherwise I think this
warning will trigger in many cases where it doesn't really matter. At
least in my projects I take care to have only minimal differences
between barebox' and linux' device tree and so the latter usually also
contains the state stuff.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
More information about the barebox
mailing list