Devicetree
 help / color / mirror / Atom feed
From: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
To: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
Cc: devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Subject: Re: [PATCH] Implements new features for updating existing device tree nodes.
Date: Mon, 18 Oct 2010 10:01:15 -0600	[thread overview]
Message-ID: <20101018160115.GN19399@angua.secretlab.ca> (raw)
In-Reply-To: <20101018001135.GA4922@yookeroo>

On Mon, Oct 18, 2010 at 11:11:35AM +1100, David Gibson wrote:
> On Sat, Oct 16, 2010 at 12:32:17PM -0600, Grant Likely wrote:
> > On Sat, Oct 16, 2010 at 06:45:47AM -0700, John Bonesio wrote:
> > > On Sat, 2010-10-16 at 02:10 -0600, Grant Likely wrote:
> > > > 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:
> [snip]
> > > > 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.
> > > 
> > > Why not just add the label to the node you need first?
> > 
> > That may not be possible and/or desirable.  For instance, when the
> > tree is extracted from /proc.  Or if the base tree in stored in the
> > kernel source and an external tool is modifying it for a specific
> > purpose (when unable to patch the kernel tree).  Or for generated
> > device trees from the Xilinx toolchain for FPGAs.  Modifying the
> > source data isn't always an option.
> 
> You can apply your overlays by path in this case..

Right, but my argument is that in this case it is a useful syntax to
be able to delve deep into the tree, or deeper off of a label and
delete nodes within it.  And it is actually a really simple thing to
implement cleanly (as shown in the patch I posted).

> 
> > Plus I want the ability to logically group related changes.  ie.
> > delete a device and add a device to the same bus at the same time.
> > Or delete a phy node, add a replacement phy node at a different
> > address, and update the ethernet phy-device phandle in the same
> > block.
> 
> Hrm, I really don't think this is a good argument.  You're conflating
> the grouping of logically related changes with the tree structure
> which I think is a mistake.  Putting the changes in the same file
> and/or adjusting your spacing and comments to show the logical
> grouping seems less likely to cause other problems.

Though I'm not happy with it, I can live with only allowing removal of
nodes at the top level.  In fact, that constraint also completely
removes the need for a /replace-node/ keyword since the remove
operation is performed at the top level where ordering is explicitly
allowed.  So, instead of:

	/{
		node { oldprop; };
	};
	/{
		/replace-node/ the-node { newprop; };
	};

do this instead:

	/{
		node { oldprop; };
	};
	/remove-node/ &{/the-node};
	/{
		the-node { newprop; };
	};

It means only the /remove-node/ keyword needs to be defined.  However,
it does mean that the syntax for full path references must be defined
immediately before it is useful.

g.

  reply	other threads:[~2010-10-18 16:01 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-16  1:07 [PATCH] Implements new features for updating existing device tree nodes John Bonesio
2010-10-16  2:35 ` Grant Likely
     [not found]   ` <AANLkTimx4z-YkH+PXcnKYJpq3MEd3oJZ+ow7mWJzn1BN-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-10-16  3:21     ` John Bonesio
2010-10-16  6:47       ` David Gibson
2010-10-16  8:10         ` Grant Likely
     [not found]           ` <20101016081012.GH653-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2010-10-16  9:05             ` David Gibson
2010-10-16 13:45             ` John Bonesio
2010-10-16 18:32               ` Grant Likely
     [not found]                 ` <20101016183217.GA3774-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2010-10-18  0:11                   ` David Gibson
2010-10-18 16:01                     ` Grant Likely [this message]
     [not found]                       ` <20101018160115.GN19399-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2010-10-18 17:42                         ` Scott Wood
     [not found]                           ` <20101018124220.50a4c097-N/eSCTBpGwP7j4BuCOFQISmX4OfbXNuMKnGXBo5VDl8@public.gmane.org>
2010-10-18 19:56                             ` Grant Likely
     [not found]                               ` <20101018195629.GB2259-MrY2KI0G/OVr83L8+7iqerDks+cytr/Z@public.gmane.org>
2010-10-19  1:02                                 ` David Gibson
2010-10-19  3:42                                   ` Grant Likely
2010-10-19  0:54                         ` David Gibson
2010-10-19  1:06                         ` David Gibson
2010-10-19  3:41                           ` Grant Likely
2010-10-18  0:51     ` David Gibson
2010-10-18  0:27 ` David Gibson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101018160115.GN19399@angua.secretlab.ca \
    --to=grant.likely-s3s/wqlpoipyb63q8fvjnq@public.gmane.org \
    --cc=david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox