From: David Gibson <david-xT8FGy+AXnRB3Ne2BGzF6laj5H9X9Tb+@public.gmane.org>
To: Benjamin Herrenschmidt
<benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org>
Cc: Dmitry Eremin-Solenikov
<dbaryshkov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-xIg/pKzrS19vn6HldHNs0ANdhmdF6hFW@public.gmane.org
Subject: Re: [RFC] [PATCH] Device Tree on ARM platform
Date: Fri, 29 May 2009 11:39:08 +1000 [thread overview]
Message-ID: <20090529013908.GA7831@yookeroo.seuss> (raw)
In-Reply-To: <1243549318.17903.9.camel@pasglop>
On Fri, May 29, 2009 at 08:21:58AM +1000, Benjamin Herrenschmidt wrote:
> On Thu, 2009-05-28 at 08:13 -0600, Grant Likely wrote:
> > Two nodes are used to describe the device and a "phandle" is used to
> > link them. A device driver probe could be triggered (bind) against
> > the i2c half of the device and follow the phandle to get the rest of
> > the description.
>
> One thing I wouldn't do though is to put "phandle" in the property
> name :-) Just call it spi-interface.
>
> Now, that's an option. And it works to a certain extent. But I do
> understand the need in general to provide "methods". It's something
> we don't solve (but then we don't make it worse than it was before).
>
> I think the cleanest option might be named methods in the device-tree
> for example, a device can have an "enable-method" property and a
> "clock-method" property. The names would use the usual convention
> of "manuf,name" to avoid clashes and could be registered by the
> platform.
>
> Now, it -does- somewhat deviates from the moto that the DT should
> only contain OS agnostic HW representations, but appart for having
> a full blown OF with actual method calls in each nodes I don't
> see a nicer way at this stage.
But then another OS can also understand those names and at least use
them to figure out what procedures it needs. That's not fundamentally
different from the fact that the device tree doesn't provide drivers -
if a node has a certain compatible value, you just have to know how to
drive it based on that.
Note that ePAPR (a new standard for firmware/OS interface on embedded
powerpc machines) already has a small example of this approach. We
add an "enable-method" property in the cpu nodes to indicate how
secondary cpus should be started up. One basic, least common
denominator method is defined in the standard, but it's kind of
crappy, so it's expected that vendor and/or platform specific methods
will be used most of the time - in order to boot such a machine, the
OS just has to know how to implement that method.
Also note that there are certainly circumstances where it's reasonable
to have a device node representing nothing more than a tangle of wires
between a couple of other devices. In this case the compatible
property as usual selects a "driver" for the device (in practice
usually folded into some other driver) which can handle peculiar
routing or other fiddling things such as you describe.
> Now, the methods could then take "informations" from the target DT.
>
> For example, one could have a generic "simple-gpio-enable" method that
> can be used as "enable-method" anywhere, as long as the target device
> contains also a "enable-gpio" property that points to the actual GPIO
> (and maybe an "enable-delay" while at it).
>
> IE. We can provide a collection of "simple" methods that handle
> the easy cases in library code.
>
> I'm very much against putting actual function pointers in the tree
> though as Jon Smirl proposed.
--
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
next prev parent reply other threads:[~2009-05-29 1:39 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1243408083.13460.14.camel@debian-nb>
2009-05-27 14:27 ` [RFC] [PATCH] Device Tree on ARM platform Grant Likely
2009-05-27 14:39 ` Timur Tabi
[not found] ` <ed82fe3e0905270739k38018c87ka11f62c5977e45fb-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 15:05 ` Robert Schwebel
2009-05-27 16:32 ` Mark Brown
2009-05-27 18:50 ` Jon Smirl
[not found] ` <9e4733910905271150q1d51538draa8d039c8b147c05-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 22:24 ` Mark Brown
[not found] ` <20090527222420.GC5591-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-05-28 0:04 ` Jon Smirl
2009-05-28 13:07 ` Mark Brown
[not found] ` <20090527163223.GE1970-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-05-27 20:42 ` Grant Likely
[not found] ` <fa686aa40905271342v5bc51665tb9b5d92950a43b82-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 21:38 ` Mark Brown
[not found] ` <20090527150527.GK6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-27 15:39 ` Grant Likely
[not found] ` <fa686aa40905270839m375bbdacqb1acb1be0a2d2da0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 16:20 ` Robert Schwebel
[not found] ` <20090527162000.GM6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-27 20:35 ` Grant Likely
[not found] ` <fa686aa40905271335o1165419hda2334bef42aa3f-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 23:48 ` Robert Schwebel
[not found] ` <20090527234801.GP6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-27 23:52 ` David Miller
2009-05-27 23:58 ` Scott Wood
[not found] ` <4A1DD3A0.3010501-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-28 0:02 ` David Miller
2009-05-28 0:07 ` Robert Schwebel
[not found] ` <20090528000707.GR6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 0:15 ` David Miller
[not found] ` <20090527.171525.204909140.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-28 10:37 ` Mark Brown
[not found] ` <20090528103745.GA19523-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-05-28 22:32 ` Grant Likely
2009-05-29 12:34 ` Mark Brown
[not found] ` <20090529123411.GB14650-HF5t3jzXg/6ND3a5+9QAFujbO/Zr0HzV@public.gmane.org>
2009-05-30 9:52 ` Benjamin Herrenschmidt
2009-05-30 10:21 ` Russell King - ARM Linux
[not found] ` <20090530102153.GA6910-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-30 17:56 ` Mark Brown
2009-06-02 7:57 ` Holger Schurig
[not found] ` <200906020957.20493.hs4233-x6+DxXLjN1AJvtFkdXX2Hg4jNU5vUVPG@public.gmane.org>
2009-06-02 9:48 ` Mark Brown
2009-05-28 2:57 ` David Gibson
[not found] ` <20090528025718.GC1464-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-28 3:36 ` Grant Likely
2009-05-28 3:29 ` Grant Likely
2009-05-28 9:51 ` Wolfgang Denk
[not found] ` <20090528095126.99DB4832E416-C2Gvrrd9BC/j/ljBK/0BTg@public.gmane.org>
2009-05-28 9:59 ` David Miller
2009-05-28 10:13 ` Robert Schwebel
[not found] ` <20090528101339.GV6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 13:33 ` Jon Smirl
[not found] ` <9e4733910905280633u15546189q37a4b4080158249c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 13:42 ` Robert Schwebel
2009-05-28 9:38 ` Wolfgang Denk
2009-05-28 3:21 ` Grant Likely
2009-05-28 3:16 ` Grant Likely
2009-05-28 0:55 ` Stephen Neuendorffer
2009-05-27 18:56 ` Alexander Clouter
[not found] ` <2ve0f6-8fn.ln1-kuKQLpWnKMRB2HF5bZY0Orm56z/blAVA@public.gmane.org>
2009-05-27 20:46 ` Grant Likely
2009-05-27 21:32 ` Alexander Clouter
2009-05-28 14:29 ` Dmitry Eremin-Solenikov
2009-05-27 15:41 ` Peter Korsgaard
[not found] ` <87vdnm8sec.fsf-uXGAPMMVk8amE9MCos8gUmSdvHPH+/yF@public.gmane.org>
2009-05-27 16:23 ` Scott Wood
2009-05-27 17:56 ` Russell King
[not found] ` <20090527175609.GB31861-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-27 19:08 ` Scott Wood
[not found] ` <4A1D8FBA.6040802-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-27 19:13 ` Jon Smirl
2009-05-27 19:21 ` Russell King - ARM Linux
[not found] ` <20090527192116.GA31110-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-27 19:39 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20090527193927.GD30039-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2009-05-27 20:22 ` Grant Likely
[not found] ` <fa686aa40905271322x2f62c3dcs355374b30b4db3ca-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-27 20:19 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20090527201951.GF30039-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2009-05-27 20:54 ` Grant Likely
[not found] ` <fa686aa40905271354y50b9583cp9f53c35354edc285-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 3:04 ` David Gibson
2009-05-28 7:58 ` Benjamin Herrenschmidt
2009-05-27 23:57 ` Robert Schwebel
[not found] ` <20090527235704.GQ6805-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 0:00 ` David Miller
2009-05-28 3:21 ` Grant Likely
[not found] ` <fa686aa40905272021w18a148caqd2b73c4448da2b28-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 6:34 ` Wolfram Sang
[not found] ` <20090528063445.GA12004-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 7:55 ` Benjamin Herrenschmidt
2009-05-28 13:34 ` Grant Likely
2009-05-28 7:48 ` Benjamin Herrenschmidt
2009-05-28 14:22 ` Ben Dooks
2009-05-27 20:28 ` David Miller
[not found] ` <20090527.132827.65331718.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-27 20:31 ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-28 2:52 ` David Gibson
[not found] ` <20090528025258.GB1464-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-28 4:27 ` David Miller
[not found] ` <20090527.212730.183576278.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-28 4:47 ` David Gibson
[not found] ` <20090528044732.GK1464-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-28 5:31 ` David Miller
[not found] ` <20090527.223147.94364683.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-28 5:47 ` David Gibson
2009-05-28 7:47 ` Benjamin Herrenschmidt
2009-05-28 14:17 ` Ben Dooks
2009-05-28 14:24 ` Robert Schwebel
[not found] ` <20090528141743.GA16199-SMNkleLxa3Z6Wcw2j4pizdi2O/JbrIOy@public.gmane.org>
2009-05-28 14:47 ` Grant Likely
2009-05-27 19:29 ` Russell King
2009-05-27 19:47 ` Sergei Shtylyov
[not found] ` <20090527192909.GA32398-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-27 19:53 ` Scott Wood
[not found] ` <4A1D9A1E.80603-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-27 19:54 ` Timur Tabi
[not found] ` <4A1D9A66.5020002-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-27 20:25 ` David Miller
[not found] ` <20090527.132553.40558501.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-27 20:27 ` Timur Tabi
[not found] ` <4A1DA24D.5000101-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2009-05-27 20:55 ` David Miller
[not found] ` <20090527.135500.217447785.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-27 23:26 ` Robert Schwebel
2009-05-27 20:35 ` M. Warner Losh
2009-05-27 20:14 ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-27 20:23 ` David Miller
[not found] ` <20090527.132328.78091350.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-27 20:27 ` Jean-Christophe PLAGNIOL-VILLARD
[not found] ` <20090527202701.GA16219-RQcB7r2h9QmfDR2tN2SG5Ni2O/JbrIOy@public.gmane.org>
2009-05-27 20:48 ` Josh Boyer
2009-05-27 20:56 ` David Miller
2009-05-27 20:52 ` Mark Brown
[not found] ` <20090527205218.GA5591-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2009-05-27 21:05 ` Grant Likely
[not found] ` <fa686aa40905271405pc2f1738gc8dd139f61a0e27-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 0:11 ` Jon Smirl
2009-05-28 12:43 ` Sascha Hauer
2009-05-28 13:18 ` Thomas Gleixner
[not found] ` <alpine.LFD.2.00.0905281457170.3397-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2009-05-28 15:04 ` Sascha Hauer
[not found] ` <20090528150409.GO22742-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 15:27 ` Thomas Gleixner
2009-05-29 0:51 ` Benjamin Herrenschmidt
2009-05-29 7:52 ` Sascha Hauer
[not found] ` <20090529075238.GC24565-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-29 9:08 ` Benjamin Herrenschmidt
2009-05-31 10:52 ` Russell King - ARM Linux
[not found] ` <20090528124307.GN22742-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2009-05-28 14:31 ` Grant Likely
2009-05-28 3:25 ` David Gibson
2009-05-28 8:10 ` Benjamin Herrenschmidt
2009-05-28 7:38 ` Benjamin Herrenschmidt
2009-05-27 20:43 ` Grant Likely
2009-05-28 7:37 ` Benjamin Herrenschmidt
2009-05-28 9:15 ` Russell King - ARM Linux
[not found] ` <20090528091513.GA14789-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-28 9:57 ` David Miller
[not found] ` <20090528.025739.16559619.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-28 10:11 ` Benjamin Herrenschmidt
2009-05-28 10:33 ` Robert Schwebel
2009-05-28 10:34 ` Russell King - ARM Linux
[not found] ` <20090528103421.GC14789-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-28 22:33 ` Benjamin Herrenschmidt
2009-05-28 10:14 ` Russell King - ARM Linux
[not found] ` <20090528101440.GB14789-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-28 21:30 ` David Miller
2009-05-28 12:17 ` Dmitry Eremin-Solenikov
2009-05-28 12:48 ` David Gibson
[not found] ` <20090528124817.GB4565-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-28 12:55 ` David Gibson
2009-05-28 14:13 ` Grant Likely
[not found] ` <fa686aa40905280713u2b3ef5fvbe3d58ccdb629b60-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 16:53 ` Russell King - ARM Linux
2009-05-28 17:05 ` Grant Likely
2009-05-28 18:46 ` Alexander Clouter
2009-05-28 22:21 ` Benjamin Herrenschmidt
2009-05-29 1:39 ` David Gibson [this message]
[not found] ` <20090529013908.GA7831-787xzQ0H9iRg7VrjXcPTGA@public.gmane.org>
2009-05-29 1:59 ` Mitch Bradley
[not found] ` <4A1F4189.8060702-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-05-29 3:52 ` Benjamin Herrenschmidt
2009-05-29 4:11 ` David Miller
2009-05-29 4:11 ` David Miller
[not found] ` <20090528.211123.46272556.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2009-05-29 4:56 ` Benjamin Herrenschmidt
2009-05-29 5:11 ` David Miller
2009-05-28 10:00 ` Benjamin Herrenschmidt
2009-05-28 11:44 ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-28 12:47 ` Jon Smirl
[not found] ` <9e4733910905280547w7ee65d40yb4b3ab9559e14dae-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 14:39 ` Grant Likely
2009-05-28 14:54 ` Grant Likely
2009-05-27 18:26 ` Peter Korsgaard
2009-05-28 3:02 ` David Gibson
2009-05-28 7:32 ` Benjamin Herrenschmidt
2009-05-28 13:38 ` Grant Likely
2009-05-27 22:01 ` Mitch Bradley
[not found] ` <4A1DB855.2030608-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>
2009-05-28 8:17 ` Benjamin Herrenschmidt
2009-05-27 17:44 ` Russell King
[not found] ` <20090527174440.GA31861-f404yB8NqCZvn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2009-05-27 17:52 ` Grant Likely
[not found] ` <fa686aa40905271052k3f55eb73k2cb0c3cff3c94d7b-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-05-28 3:44 ` 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=20090529013908.GA7831@yookeroo.seuss \
--to=david-xt8fgy+axnrb3ne2bgzf6laj5h9x9tb+@public.gmane.org \
--cc=benh-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org \
--cc=dbaryshkov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-xIg/pKzrS19vn6HldHNs0ANdhmdF6hFW@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@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