[PATCH 2/4] state: warn when a state node will be overwritten

Sascha Hauer s.hauer at pengutronix.de
Mon May 8 04:58:34 PDT 2017


On Mon, May 08, 2017 at 08:15:25AM +0200, Uwe Kleine-König wrote:
> 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.

Generally I'm fine with showing the warning only when there are
differences. However, we do not have any code to compare two device tree
branches.

Sascha

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list