devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Cousson, Benoit" <b-cousson@ti.com>
To: Arnd Bergmann <arnd@arndb.de>
Cc: "Hilman, Kevin" <khilman@ti.com>, Paul Walmsley <paul@pwsan.com>,
	Russell King - ARM Linux <linux@arm.linux.org.uk>,
	"G, Manjunath Kondaiah" <manjugk@ti.com>,
	"devicetree-discuss@lists.ozlabs.org"
	<devicetree-discuss@lists.ozlabs.org>,
	"Balbi, Felipe" <balbi@ti.com>,
	Grant Likely <grant.likely@secretlab.ca>,
	Scott Wood <scottwood@freescale.com>,
	linux-omap <linux-omap@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: How to handle named resources with DT?
Date: Fri, 26 Aug 2011 16:13:15 +0200	[thread overview]
Message-ID: <4E57A9FB.5030404@ti.com> (raw)
In-Reply-To: <201108261258.32880.arnd@arndb.de>

On 8/26/2011 12:58 PM, Arnd Bergmann wrote:
> On Friday 26 August 2011, David Gibson wrote:
>> Seriously, how many times do I have to say it?

[...]

>> Insisting that the names come from the DT is to mistakenly think of
>> the DT as an extension of the kernel's internal interfaces, instead of
>> as the external and OS neutral data structure it actually is.

You are wrongly interpreting the consequence: a smart Linux guy added a 
_byname API, without seeing the real cause: most HW resources have a 
name to identify them and not a number.

> Agreed, that was my main point anyway: Getting the name from the
> device tree would be a huge mistake.

No, it would not. In fact, storing name in DT is even much more aligned 
with the goal of DT for my point of view, since it is supposed to 
describe the HW without any assumption about the OS usage. DT data are 
supposed to be driven by the HW specs.


The ordering you are relying on for the moment is purely arbitrary and 
do not have any signification for the HW point of view. Just have a look 
at a HW spec and you will see that most signals have a *name*, not a 
number, to identify them.

Without that, you have to add some unnecessary and error prone 
processing to the original information:
- Encode an information that is there originally (resource name from the 
HW spec) into a arbitrary number without any meaning: Why tx_irq should 
be before the rx_irq and after the err_irq???
- Remove the original name to confuse people.
- Expect the driver to use a number that does not come from the HW spec 
but from a DT binding text file to figure out what resource it has to use.
- Pray that the driver guy didn't wrongly interpret the irq #2138469 to 
be the tx_irq instead of the rx_irq.

That's a lot of (error prone) indirections that can be avoided by using 
the name directly.


If you extend a little bit the scope of the discussion and start 
considering that clocks, voltage rails, reset lines are as well a 
resources for the IP point of view, do you really think that using a 
number to identify a clock or a voltage will really make sense?
Guess what? The current clock binding is using clock name...

In order to have a consistent way of using resources in DT, it makes 
sense to have the ability to provide a name for any kind of resources.
BTW, adding a name should not prevent people to use the legacy by index 
method.


Moreover, anybody deserve to have a name... Otherwise we will end up 
with situation like that:

resource #6: Who are you?
resource #2: The new #2.
resource #6: Who is #1?
resource #2: You are #6.
resource #6: I am not a number, I am a free resource.


Regards,
Benoit

  parent reply	other threads:[~2011-08-26 14:13 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-09  9:23 How to handle named resources with DT? Cousson, Benoit
2011-08-09 16:29 ` G, Manjunath Kondaiah
2011-08-09 16:57   ` Cousson, Benoit
2011-08-09 17:23     ` Grant Likely
2011-08-09 17:47       ` Cousson, Benoit
2011-08-09 17:52         ` Matt Porter
2011-08-09 18:26         ` Scott Wood
2011-08-09 20:57           ` Grant Likely
     [not found]             ` <20110809205723.GE11568-e0URQFbLeQY2iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2011-08-09 21:08               ` Cousson, Benoit
2011-08-09 21:17                 ` Grant Likely
2011-08-09 21:44                   ` Cousson, Benoit
2011-08-09 21:49                     ` Grant Likely
2011-08-09 21:53                       ` Cousson, Benoit
2011-08-10  1:52                         ` David Gibson
2011-08-10  7:11                           ` Paul Walmsley
     [not found]                           ` <20110810015214.GD23511-787xzQ0H9iQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-08-10 15:01                             ` Cousson, Benoit
2011-08-10 15:18                           ` Scott Wood
     [not found]                             ` <4E42A14B.9050308-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
2011-08-10 15:21                               ` Cousson, Benoit
2011-08-10 19:22                           ` Grant Likely
2011-08-10 19:57                             ` David Brown
2011-08-10 20:12                               ` Grant Likely
2011-08-11 12:28                             ` Cousson, Benoit
2011-08-12  3:02                               ` David Gibson
     [not found]                                 ` <20110812030218.GP30552-787xzQ0H9iQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-08-12  8:14                                   ` Cousson, Benoit
2011-08-12  8:41                                 ` Felipe Balbi
     [not found]                                   ` <20110812084106.GC19467-UiBtZHVXSwEVvW8u9ZQWYwjfymiNCTlR@public.gmane.org>
2011-08-12 14:35                                     ` Arnd Bergmann
2011-08-12 15:09                                       ` Cousson, Benoit
2011-08-12 17:21                                         ` Grant Likely
2011-08-24 19:15                                           ` Kevin Hilman
2011-08-24 23:16                                             ` Felipe Balbi
     [not found]                                               ` <20110824231613.GC19890-UiBtZHVXSwEVvW8u9ZQWYwjfymiNCTlR@public.gmane.org>
2011-08-25 10:28                                                 ` Russell King - ARM Linux
     [not found]                                                   ` <20110825102824.GB10405-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2011-08-25 15:05                                                     ` Arnd Bergmann
2011-08-25 18:16                                                       ` Kevin Hilman
2011-08-25 21:02                                                         ` Arnd Bergmann
2011-08-26 11:01                                                           ` Removing platform_get_resource_byname() (was Re: How to handle named resources with DT?) Paul Walmsley
2011-08-26  4:12                                                         ` How to handle named resources with DT? David Gibson
     [not found]                                                           ` <20110826041200.GD2308-787xzQ0H9iQXU02nzanrWNbf9cGiqdzd@public.gmane.org>
2011-08-26 10:58                                                             ` Arnd Bergmann
2011-08-26 13:06                                                               ` David Gibson
2011-08-26 15:35                                                                 ` Arnd Bergmann
     [not found]                                                                   ` <201108261735.55412.arnd-r2nGTMty4D4@public.gmane.org>
2011-08-26 15:41                                                                     ` Arnd Bergmann
2011-08-27 14:37                                                                       ` David Gibson
2011-08-27 18:13                                                                         ` Arnd Bergmann
2011-08-27 19:31                                                                           ` Paul Walmsley
2011-08-29 17:16                                                                             ` Arnd Bergmann
2011-08-28  8:39                                                                           ` David Gibson
2011-08-28 23:06                                                                             ` Paul Walmsley
     [not found]                                                                               ` <alpine.DEB.2.00.1108281100150.23968-rwI8Ez+7Ko+d5PgPZx9QOdBPR1lH4CV8@public.gmane.org>
2011-08-28 23:43                                                                                 ` Russell King - ARM Linux
2011-08-29  1:57                                                                               ` Paul Walmsley
2011-08-29 17:18                                                                             ` Arnd Bergmann
2011-08-27 21:47                                                                 ` Paul Walmsley
     [not found]                                                                   ` <alpine.DEB.2.00.1108271444240.23968-rwI8Ez+7Ko+d5PgPZx9QOdBPR1lH4CV8@public.gmane.org>
2011-08-29 21:54                                                                     ` Mark Brown
2011-08-26 14:13                                                               ` Cousson, Benoit [this message]
2011-08-30  2:29                                                                 ` David Gibson
2011-08-30  9:27                                                                   ` Felipe Balbi
     [not found]                                                                     ` <20110830092722.GG23907-UiBtZHVXSwEVvW8u9ZQWYwjfymiNCTlR@public.gmane.org>
2011-08-31  2:32                                                                       ` David Gibson
2011-08-27 20:00                                                               ` Paul Walmsley
2011-08-25 17:38                                                   ` Cousson, Benoit
2011-08-09 21:52                     ` Scott Wood
2011-08-09 20:55         ` Grant Likely
2011-08-09 21:06           ` Cousson, Benoit
2011-08-09 21:16             ` Grant Likely
2011-08-09 21:37               ` Cousson, Benoit
2011-08-12  4:10                 ` Shawn Guo
2011-08-12  8:56                   ` Cousson, Benoit
2011-08-12 11:47                     ` Shawn Guo
2011-08-12 14:40                     ` Arnd Bergmann
2011-08-10  1:29       ` David Gibson
2011-08-10  6:08         ` Paul Walmsley
2011-08-09 19:51 ` Russell King - ARM Linux
2011-08-09 20:59   ` Cousson, Benoit

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=4E57A9FB.5030404@ti.com \
    --to=b-cousson@ti.com \
    --cc=arnd@arndb.de \
    --cc=balbi@ti.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=devicetree-discuss@lists.ozlabs.org \
    --cc=grant.likely@secretlab.ca \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=manjugk@ti.com \
    --cc=paul@pwsan.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).