[PATCH] Implements new features for updating existing device tree nodes.
David Gibson
david at gibson.dropbear.id.au
Mon Oct 18 11:51:32 EST 2010
On Fri, Oct 15, 2010 at 08:35:56PM -0600, Grant Likely wrote:
> Hi John.
>
> On Fri, Oct 15, 2010 at 7:07 PM, John Bonesio <bones at secretlab.ca> wrote:
> > This is interesting when the /include/ "<filename>" feature is used. This way
> > we can create base device tree source files for a family of systems and modify
> > the device tree for a specific system.
> >
> > The current sytem allows an existing node to be extended with new properties
> > and subnodes.
> >
> > The new features allow an existing node to be replaced completely by the new
> > properties and subnodes. The new features also allow an existing node to be
> > deleted.
> >
> > This patch does not yet provide a way to remove properties.
> >
> > - John
>
> Also need s-o-b line, and anything that doesn't belong as part of the
> commit message, such as '- John', needs to be below the '---' line so
> that git will ignore it.
>
> The patch looks pretty good, but I cannot comment fully until the
> keyword handling works when deeper in the tree (see below).
[snip]
> > + struct property *prop;
> > + struct node *child, *parent;
> > +
> > + while (node->proplist) {
> > + /* Pop the property off the list */
> > + prop = node->proplist;
> > + node->proplist = prop->next;
> > + prop->next = NULL;
> > +
> > + free(prop);
> > + }
>
> It would be useful to have a 'pop_property()' macro so this could be
> simplified to:
>
> while (prop = pop_child_node(&node->proplist))
> free(prop);
>
> But then on the other hand, most of the list management is open coded
> in dtc. It would be nice to use the list_head macros like used in the
> kernel, but that is probably work for another day. (if it is even worth
> the effort).
I had a look into this at one point. The way we build up the tree in
a kinda-sorta functional programming like way in dts parsing actually
makes using the list.h form kind of hard. At least without a fancier
allocator (maybe I should bite the bullet and do a talloc conversion).
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
More information about the devicetree-discuss
mailing list