devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Gibson <david@gibson.dropbear.id.au>
To: Joel A Fernandes <agnel.joel@gmail.com>
Cc: Pantelis Antoniou <panto@antoniou-consulting.com>,
	Kevin Hilman <khilman@ti.com>, Matt Porter <mporter@ti.com>,
	Koen Kooi <koen@dominion.thruhere.net>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Felipe Balbi <balbi@ti.com>, Deepak Saxena <dsaxena@linaro.org>,
	Scott Wood <scottwood@freescale.com>,
	Russ Dill <Russ.Dill@ti.com>,
	linux-omap@vger.kernel.org, devicetree-discuss@lists.ozlabs.org
Subject: Re: [RFC] Device Tree Overlays Proposal (Was Re: capebus moving omap_devices to mach-omap2)
Date: Sat, 10 Nov 2012 01:29:08 +1100	[thread overview]
Message-ID: <20121109142908.GB4696@truffula.fritz.box> (raw)
In-Reply-To: <CAD=GYpbeKtW37Cj9cXr8F7F83d9Fgs-moqu9p6cOaPE1VxwbSg@mail.gmail.com>

On Fri, Nov 09, 2012 at 12:32:09AM -0500, Joel A Fernandes wrote:
> Hi Pantelis,
> 
> I hope I'm not too late to reply as I'm traveling.
> 
> On Nov 6, 2012, at 5:30 AM, Pantelis Antoniou
> <panto@antoniou-consulting.com> wrote:
> 
> >> Joanne has purchased one of Jane's capes and packaged it into a rugged
> >> case for data logging. As far as Joanne is concerned, the BeagleBone and
> >> cape together are a single unit and she'd prefer a single monolithic FDT
> >> instead of using an FDT overlay.
> >> Option A: Using dtc, she uses the BeagleBone and cape .dts source files
> >>        to generate a single .dtb for the entire system which is
> >>        loaded by U-Boot. -or-
> >
> > Unlikely.
> >> Option B: Joanne uses a tool to merge the BeagleBone and cape .dtb files
> >>        (instead of .dts files), -or-
> > Possible but low probability.
> >
> >> Option C: U-Boot loads both the base and overlay FDT files, merges them,
> >>        and passes the resolved tree to the kernel.
> >>
> >
> > Could be made to work. Only really required if Joanne wants the
> > cape interface to work for u-boot too. For example if the cape has some
> > kind of network interface that u-boot will use to boot from.
> >
> 
> I love Grant's hashing idea a lot keeping the phandle problem for
> compile time and not requiring fixups.

Well, using a hash only moves the problem of fixed phandles to a
problem of fixed node paths.  The details of node paths are, if
anything, more mutable than phandles.

[snip]
> Alternatively to hashing, reading David Gibson's paper I followed,
> phandle is supposed to 'uniquely' identity node. I wonder why the node
> name itself is not sufficient to uniquely identify.

Node names are not unique, not even close.  If you have two similar
NICs in slot 0 of two different PCI domains, they'll almost certainly
both be called 'ethernet@0,0'.  Similar examples abound on other
buses.  Node paths are unique, but they are long.

The other big reason for phandles in OF history is that they would be
more stable than paths.  The device tree could be manipulated during
OF runtime, but phandles would generally be internal pointers in OF
and so remain a consistent handle even if the node moved in the tree.
That's not really relevant for flat trees, but we need to work with
the same structures.

> The code that does
> the tree walking can then just strcmp the node name while it walks the
> tree instead of having to find a node with a phandle number. I guess
> the reason is phandles are small to store as data values. Another
> approach can be to arrange the string block in alphabetical order
> (unless it already is),

They're not, and doing so would be a painful change to maintain
compatibility across.  And in any case only property names use the
strings block, not node names.

> and store phandle as index of the node name
> referenced relative to the starting of the strong block. This will not
> affect nodes in dtb being moved around since they will still have the
> same index value. the problem being adding or removing nodes Changes
> the index of all other nodes in the string block as well.. Hmm.

-- 
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

  reply	other threads:[~2012-11-09 14:29 UTC|newest]

Thread overview: 99+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-05 20:40 [RFC] Device Tree Overlays Proposal (Was Re: capebus moving omap_devices to mach-omap2) Grant Likely
2012-11-06 10:30 ` Pantelis Antoniou
2012-11-06 11:14   ` Grant Likely
2012-11-06 18:35     ` Tony Lindgren
2012-11-06 19:29       ` Russ Dill
     [not found]         ` <CA+Bv8XZOt7h3dtDsk1SaR71J3tYFOTsPJSjZLSP3RVuLdYdFDg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-06 19:41           ` Pantelis Antoniou
2012-11-06 22:17             ` Stephen Warren
2012-11-06 19:34     ` Pantelis Antoniou
2012-11-06 20:45       ` Grant Likely
2012-11-06 20:50         ` Grant Likely
2012-11-07  8:06         ` Pantelis Antoniou
2012-11-07 15:33           ` Alan Tull
2012-11-09 17:03           ` Grant Likely
2012-11-07  8:13         ` Pantelis Antoniou
     [not found]           ` <5ED17D42-07B8-4D4F-B54F-82B4CC60584C-wVdstyuyKrO8r51toPun2/C9HSW9iNxf@public.gmane.org>
2012-11-07 10:19             ` Benoit Cousson
2012-11-07 11:02               ` Pantelis Antoniou
     [not found]                 ` <A6697FB9-3614-4027-A71B-59C7556005BF-wVdstyuyKrO8r51toPun2/C9HSW9iNxf@public.gmane.org>
2012-11-07 11:12                   ` Benoit Cousson
2012-11-07 11:23                     ` Pantelis Antoniou
2012-11-09 20:33                 ` Grant Likely
2012-11-12 11:34                   ` Pantelis Antoniou
2012-11-12 13:01                     ` Grant Likely
2012-11-07 17:25               ` Stephen Warren
     [not found]                 ` <509A9984.3000709-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-07 22:10                   ` Pantelis Antoniou
2012-11-08 10:36                 ` Cousson, Benoit
2012-11-09  5:32   ` Joel A Fernandes
2012-11-09 14:29     ` David Gibson [this message]
2012-11-10  3:15       ` Joel A Fernandes
2012-11-09 21:22     ` Grant Likely
     [not found]       ` <CACxGe6vL9gbAKyDWcZWWAQ4WO=nTgdAioXS-h2e1jtJK9pmZUg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-12 11:47         ` Pantelis Antoniou
2012-11-13  3:59       ` Joel A Fernandes
2012-11-09 22:59     ` Stephen Warren
     [not found]   ` <-4237940489086529028@unknownmsgid>
     [not found]     ` <559B8433-67C3-4A1A-A5D6-859907655176@antoniou-consulting.com>
     [not found]       ` <559B8433-67C3-4A1A-A5D6-859907655176-wVdstyuyKrO8r51toPun2/C9HSW9iNxf@public.gmane.org>
2012-11-10  3:36         ` Joel A Fernandes
2012-11-12 12:48           ` Pantelis Antoniou
2012-11-13  2:28           ` David Gibson
     [not found] ` <CACxGe6vu8ek7-K-yDDMXyg9x-oKiFt_cSz+Pz-yZf5U5vwe=0g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-05 21:40   ` Tabi Timur-B04825
2012-11-05 23:22     ` Tony Lindgren
     [not found]       ` <20121105232218.GA8284-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2012-11-09 12:06         ` Grant Likely
2012-11-06  0:07     ` Grant Likely
2012-11-06 10:31     ` Pantelis Antoniou
2012-11-07 22:35     ` Ryan Mallon
2012-11-08 13:28       ` Koen Kooi
2012-11-08 14:09         ` Timur Tabi
2012-11-08 17:00         ` Mitch Bradley
2012-11-06 22:37   ` Stephen Warren
     [not found]     ` <50999145.2070306-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-07  0:54       ` Mitch Bradley
2012-11-09 17:02         ` Grant Likely
2012-11-12 11:29           ` Pantelis Antoniou
2012-11-07  8:47     ` Pantelis Antoniou
2012-11-07 17:18       ` Stephen Warren
     [not found]         ` <509A97D0.5010006-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-07 22:08           ` Pantelis Antoniou
2012-11-09 16:28     ` Grant Likely
2012-11-09 23:23       ` Stephen Warren
2012-11-09 23:40         ` Grant Likely
2012-11-12 10:53           ` Koen Kooi
     [not found]         ` <509D9089.7020407-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-12 12:10           ` Pantelis Antoniou
2012-11-12 16:52             ` Stephen Warren
2012-11-13  7:25               ` David Gibson
     [not found]                 ` <20121113072517.GE25915-W9XWwYn+TF0XU02nzanrWNbf9cGiqdzd@public.gmane.org>
2012-11-13  8:09                   ` Pantelis Antoniou
2012-11-13 12:24                     ` Grant Likely
     [not found]                       ` <CACxGe6vQxmAk_joUYbaXw4r8J3_RbQt22zFg84ANvcw+ycCMHg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-13 13:38                         ` Pantelis Antoniou
2012-11-15  4:57                           ` David Gibson
2012-11-13 17:10                     ` Stephen Warren
     [not found]                     ` <BD20AE03-C138-4BC6-AE02-F162AF6840B2-wVdstyuyKrO8r51toPun2/C9HSW9iNxf@public.gmane.org>
2012-11-13 23:30                       ` David Gibson
2012-11-14  0:00                         ` Pantelis Antoniou
2012-11-13 16:57                 ` Stephen Warren
     [not found]                   ` <50A27BF1.4030502-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-13 18:10                     ` Mitch Bradley
     [not found]                       ` <50A28D03.7050002-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2012-11-13 18:29                         ` Stephen Warren
2012-11-13 19:09                           ` Mitch Bradley
2012-11-13 19:11                             ` Pantelis Antoniou
2012-11-17 22:27         ` Jean-Christophe PLAGNIOL-VILLARD
2012-11-20 17:09           ` Grant Likely
2012-11-11 20:47       ` Rob Landley
2012-11-12 12:50         ` Pantelis Antoniou
     [not found]           ` <ABAD0875-A618-405D-954F-CD76F09DDF04-wVdstyuyKrO8r51toPun2/C9HSW9iNxf@public.gmane.org>
2012-11-12 16:54             ` Stephen Warren
2012-11-12 11:23       ` Pantelis Antoniou
2012-11-12 16:49         ` Stephen Warren
2012-11-12 17:00           ` Pantelis Antoniou
2012-11-12 17:10             ` Stephen Warren
2012-11-12 17:19               ` Pantelis Antoniou
2012-11-12 17:29                 ` Stephen Warren
2012-11-12 17:38                   ` Pantelis Antoniou
2012-11-12 20:16         ` Russ Dill
2012-11-12 16:45       ` Stephen Warren
2012-11-12 11:03   ` Koen Kooi
2012-11-09  2:26 ` David Gibson
2012-11-09 15:40   ` Pantelis Antoniou
     [not found]     ` <A97699E9-6C57-4A56-BC45-86A57CF2496F-wVdstyuyKrO8r51toPun2/C9HSW9iNxf@public.gmane.org>
2012-11-13  0:03       ` David Gibson
2012-11-09 21:08   ` Grant Likely
     [not found]     ` <CACxGe6v7q2=Dxn6BE_V-w9CEKxAsZ6zQd5Uqm4TeYGYCCu76cg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-13  0:05       ` David Gibson
2012-11-09 21:42   ` Grant Likely
     [not found]     ` <CACxGe6vQ50aS0Fe7QvTHKfV=EDpsZoLC7SOxXLGc0pkMvyk5DQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-11-13  1:05       ` David Gibson
2012-11-13  5:22         ` Stephen Warren
     [not found]           ` <50A1D8FF.7060104-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-11-13  6:54             ` David Gibson
2012-11-09 22:57   ` Stephen Warren
2012-11-09 23:27     ` Grant Likely
2012-11-12 12:05     ` Pantelis Antoniou
     [not found]   ` <20121109022624.GI23553-W9XWwYn+TF0XU02nzanrWNbf9cGiqdzd@public.gmane.org>
2012-11-09 23:14     ` Stephen Warren
2012-11-09 23:06 ` Stephen Warren
2012-11-09 23:32   ` Grant Likely

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=20121109142908.GB4696@truffula.fritz.box \
    --to=david@gibson.dropbear.id.au \
    --cc=Russ.Dill@ti.com \
    --cc=agnel.joel@gmail.com \
    --cc=balbi@ti.com \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=dsaxena@linaro.org \
    --cc=khilman@ti.com \
    --cc=koen@dominion.thruhere.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=mporter@ti.com \
    --cc=panto@antoniou-consulting.com \
    --cc=scottwood@freescale.com \
    /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;
as well as URLs for NNTP newsgroup(s).