From: Javier Martinez Canillas <javier@dowhile0.org>
To: Peter Rosin <peda@axentia.se>
Cc: Bartosz Golaszewski <brgl@bgdev.pl>,
Andy Shevchenko <andy.shevchenko@gmail.com>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
David Lechner <david@lechnology.com>,
Divagar Mohandass <divagar.mohandass@intel.com>,
Linux I2C <linux-i2c@vger.kernel.org>,
devicetree@vger.kernel.org,
Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 1/5] dt-bindings: at24: consistently document the compatible property
Date: Thu, 21 Dec 2017 21:27:20 +0100 [thread overview]
Message-ID: <CABxcv=kZk+Yrt9uj9uV7UVC+Tca7NCECfyZXmKkqHdopm5EZTg@mail.gmail.com> (raw)
In-Reply-To: <0c2455ae-2f68-5342-14c6-14706d6f0e66@axentia.se>
Hello Peter,
On Thu, Dec 21, 2017 at 5:20 PM, Peter Rosin <peda@axentia.se> wrote:
> On 2017-12-21 14:48, Bartosz Golaszewski wrote:
>> Current description of the compatible property for at24 is quite vague.
>>
>> Specify an exact list of accepted compatibles and document the - now
>> deprecated - strings which were previously used in device tree files.
>
> Why is it suddenly deprecated to correctly specify what hardware you
> have, e.g. "nxp,24c32". In this case the manufacturer is nxp, damnit.
Sorry but I disagree.
When you specify a compatible string, you are not specifying a
particular hardware but a device programming model.
It's very common to use a compatible string that doesn't match exactly
the specific hardware used. That's why it's called _compatible_ BTW.
For example when a DTS define a UART node with an ns16550 compatible,
they don't really mean that have a UART IC manufactured by National
Semiconductor.
> Sure, it happens to be compatible with "atmel,24c32", but that is
> supposed to be written with a fallback as
>
> "nxp,24c32", "atmel,24c32"
This isn't a requirement really, systems integrators are free to use
more than one <manufacturer,model> tuple in the compatible string if
they want the DTB to be future proof, just in case there's a need for
a more specific driver or if the programming model happened to not be
the same at the end. This is usually done for the boards compatible
string as an example, even when there isn't a struct machine_desc for
the specific board compatible and only for the SoC family.
So it's OK if you want to define the compatible as "nxp,24c32",
"atmel,24c32", but that's a general OF concept and not something
related to the at24 eeprom driver so I'm not sure if it should be
mentioned in the at24 DT binding doc.
> if I understand correctly. So, why is that deprecated in this case?
>
> What if (a few years down the line) it is discovered that some weird
> quirk is needed that is only appropriate for nxp chips?
>
> nxp is of course just an example, pick any manufacturer of eeproms
> (supposedly) compatible with the atmel interface.
>
That's indeed a possibility and the reason why most DT nodes have a
more specific <manufacturer,model> before the generic one matched by
drivers. I really doubt that in the future it will be found that a
more specific compatible string is needed for one manufacturer in this
case, specially since the driver didn't even care about the
manufacturers until recently.
So I think that makes no sense for a driver to support all possible
manufacturers as possible compatible strings if all the devices have
the same exact programming model.
> Cheers,
> Peter
Best regards,
Javier
next prev parent reply other threads:[~2017-12-21 20:27 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-21 13:48 [PATCH v2 0/5] eeprom: at24: device tree support fixes Bartosz Golaszewski
2017-12-21 13:48 ` [PATCH v2 2/5] dt-bindings: at24: add a missing compatible Bartosz Golaszewski
[not found] ` <20171221134842.31287-3-brgl-ARrdPY/1zhM@public.gmane.org>
2017-12-21 14:08 ` Andy Shevchenko
2017-12-21 14:18 ` Bartosz Golaszewski
[not found] ` <CAMRc=MdkF9tioOqDwWFKWCRU832BZPMD1GjK+BonDbhEH0CCnA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-21 14:25 ` Andy Shevchenko
2017-12-21 14:58 ` Bartosz Golaszewski
2017-12-21 13:48 ` [PATCH v2 3/5] dt-bindings: at24: fix formatting and style Bartosz Golaszewski
[not found] ` <20171221134842.31287-1-brgl-ARrdPY/1zhM@public.gmane.org>
2017-12-21 13:48 ` [PATCH v2 1/5] dt-bindings: at24: consistently document the compatible property Bartosz Golaszewski
[not found] ` <20171221134842.31287-2-brgl-ARrdPY/1zhM@public.gmane.org>
2017-12-21 14:09 ` Andy Shevchenko
2017-12-21 16:20 ` Peter Rosin
2017-12-21 17:24 ` David Lechner
[not found] ` <f5d14ee3-1f80-6709-c5e5-36f65c1a9b84-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
2017-12-21 17:25 ` David Lechner
2017-12-21 20:27 ` Javier Martinez Canillas [this message]
2017-12-21 23:07 ` Peter Rosin
2017-12-21 23:38 ` Javier Martinez Canillas
[not found] ` <CABxcv=kkp_Ck_JdDGomAGmSsTiCg82X67j5hEsvRnnY3RDMMfg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-12-22 16:58 ` Peter Rosin
2017-12-26 21:32 ` Rob Herring
2017-12-26 22:21 ` Bartosz Golaszewski
2017-12-21 13:48 ` [PATCH v2 4/5] dt-bindings: at24: extend the list of supported chips Bartosz Golaszewski
[not found] ` <20171221134842.31287-5-brgl-ARrdPY/1zhM@public.gmane.org>
2017-12-21 14:12 ` Andy Shevchenko
2017-12-21 13:48 ` [PATCH v2 5/5] eeprom: at24: extend the list of chips supported in DT Bartosz Golaszewski
[not found] ` <20171221134842.31287-6-brgl-ARrdPY/1zhM@public.gmane.org>
2017-12-21 14:13 ` Andy Shevchenko
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='CABxcv=kZk+Yrt9uj9uV7UVC+Tca7NCECfyZXmKkqHdopm5EZTg@mail.gmail.com' \
--to=javier@dowhile0.org \
--cc=andy.shevchenko@gmail.com \
--cc=brgl@bgdev.pl \
--cc=david@lechnology.com \
--cc=devicetree@vger.kernel.org \
--cc=divagar.mohandass@intel.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=peda@axentia.se \
--cc=robh+dt@kernel.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).