[PATCH] Implements new features for updating existing device tree nodes.
Grant Likely
grant.likely at secretlab.ca
Sat Oct 16 19:10:12 EST 2010
On Sat, Oct 16, 2010 at 05:47:44PM +1100, David Gibson wrote:
> On Fri, Oct 15, 2010 at 08:21:17PM -0700, John Bonesio wrote:
> > On Fri, 2010-10-15 at 20:35 -0600, Grant Likely wrote:
> [snip]
> > > > + | devicetree DT_REMOVENODE DT_REF ';'
> > > > + {
> > > > + struct node *target;
> > > > +
> > > > + target = get_node_by_label($1, $3);
> > > > + if (target)
> > > > + remove_nodes(target);
> > > > + else
> > > > + yyerror("label, '%s' does not exist in"
> > > > + " node removal", $3);
> > > > ;
> > >
> > > This handles the syntax at the top level, but doesn't deal with the
> > > /*-node/ keywords when they are within the overlay tree.
> > >
> > > Also, I don't know if you'll be able to handle it in the same way when
> > > it comes to handling the new tokens embedded within an overlay tree
> > > because it isn't so easy to resolve the node to be removed. In order
> > > to handle both cases in the same way, it might be better to set a
> > > 'replace' flag in struct node that defers the actual remove of the
> > > original node until merge_nodes() time.
> >
> > Ok, so maybe I misunderstood. I thought we had decided that node
> > modifications would only happen at the top level, but now that I'm
> > looking back through your examples earlier today, and I see this isn't
> > true.
>
> Um.. that part of the discussion got confusing. I think only allowing
> the operations (and I still don't think the set implemented here are
> quite right, though they're close) at the top-level is a better idea.
>
> Grant, is there a reason you think we need to have replacement as an
> option within each tree, rather than a "per-overlay-sheet" option.
Yes, because I need the ability to remove/replace a child of a
labelled node. Not every node that needs to be manipulated will
necessarily have a label.
For example; I could have a labelled spi bus node with child nodes for
each of the spi devices. I want to be able to remove/replace the
child nodes without having to label them first.
g.
More information about the devicetree-discuss
mailing list