linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: b-cousson@ti.com (Cousson, Benoit)
To: linux-arm-kernel@lists.infradead.org
Subject: How to handle named resources with DT?
Date: Thu, 11 Aug 2011 14:28:55 +0200	[thread overview]
Message-ID: <4E43CB07.20002@ti.com> (raw)
In-Reply-To: <CACxGe6tr5OUxpiVah4s6rRG0cTOWsnohhEkZoSZgCj0xSZkmMA@mail.gmail.com>

On 8/10/2011 9:22 PM, Grant Likely wrote:
> On Tue, Aug 9, 2011 at 7:52 PM, David Gibson
> <david@gibson.dropbear.id.au>  wrote:
>> On Tue, Aug 09, 2011 at 11:53:32PM +0200, Cousson, Benoit wrote:
>>> On 8/9/2011 11:49 PM, Grant Likely wrote:
>>>> That won't work either because that also breaks the existing 'reg'
>>>> binding.  Anything you do will need to supplement the existing
>>>> binding without changing it in an incompatible way.
>>>
>>> OK, but can we add a new attribute then? reg2, reg_ng, reg_plusplus,
>>> reg_named...?
>>
>> He already suggested reg-names to be interpreted in parallel with the
>> existing reg property.  The (serious) problem with replacing the reg
>> property is that it will break all existing OSes (including old Linux
>> versions) that don't understand the new property.
>>
>> Of course, the problem with reg-names is that it will be ignored by
>> older OSes, and so 'reg' must still be in the correct order.  In which
>> case you could argue it's more sensible to just have a static place to
>> name mapping in the Linux driver.
>>
>> In short, yes, named reg elements in the DT would be nice in theory,
>> but I'm not convinced it's worth a DT flag day to accomplish it.
>
> I'm inclined the same way, though I agree with the replies that point
> out it wouldn't result in a 'flag day' because existing bindings
> cannot become incompatible.  The problem I have is that adding
> reg-names or similar implies that ordering of the reg property is no
> longer defined which I absolutely do not think is a good idea.

That will not be an issue if "reg-named" is a completely new node. It 
will replace the "reg" node only when a named entry is needed.
Most devices will use the regular "reg" entry, and only the one that 
need extra information will use the reg-named.

That seems to be pretty straightforward to implement, and as soon as it 
is useful even for a couple of drivers, it worth adding it.

It is anyway better than having to add a custom property to get the 
information we will miss otherwise.

Moreover, since some drivers are relying on that call, it will avoid 
having to add extra code for nothing if CONFIG_OF is set.

It will allow the driver to use a pretty standard API in anycase vs 
using platform_get_resource + some extra optional calls to of_ functions 
+ some code to get the information for non-DT build.

> Please, stick with the established convention and explicitly order
> 'reg' and 'interrupts' properties.  If there is a specific use case
> where this doesn't work, then bring it up, but I haven't seen any yet.

There will always be some alternatives, but they will be uglier, and the 
effort to add some extra node to DT is so small, that it is better to do 
that instead of adding some useless extra code in the driver.

>   The current users of _byname that I've looked seem to only use it for
> convenience, not because a register range may be optional.  ie. they
> all fail out if a reg resource isn't present.

If that API can help the driver writer and can avoid adding 10 lines of 
code, it is still useful to use it.

To be honest, I still do not understand why you are so reluctant to add 
that small feature.

That will not break compatibility and it will make our life easier.
Don't you want to make our life easier? :-)

Benoit

  parent reply	other threads:[~2011-08-11 12:28 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
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
2011-08-10 15:01                         ` Cousson, Benoit
2011-08-10 15:18                         ` Scott Wood
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 [this message]
2011-08-12  3:02                             ` David Gibson
2011-08-12  8:14                               ` Cousson, Benoit
2011-08-12  8:41                               ` Felipe Balbi
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
2011-08-25 10:28                                           ` Russell King - ARM Linux
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
2011-08-26 10:58                                                   ` Arnd Bergmann
2011-08-26 13:06                                                     ` David Gibson
2011-08-26 15:35                                                       ` Arnd Bergmann
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
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
2011-08-29 21:54                                                         ` Mark Brown
2011-08-26 14:13                                                     ` Cousson, Benoit
2011-08-30  2:29                                                       ` David Gibson
2011-08-30  9:27                                                         ` Felipe Balbi
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=4E43CB07.20002@ti.com \
    --to=b-cousson@ti.com \
    --cc=linux-arm-kernel@lists.infradead.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;
as well as URLs for NNTP newsgroup(s).