All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Thierry Reding
	<thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
Cc: Grant Likely
	<grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>,
	devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Sascha Hauer <s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
	Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
	Matthias Kaehlcke
	<matthias-RprLehDfhQ3k1uMJSBkQmQ@public.gmane.org>,
	Kurt Van Dijck <kurt.van.dijck-/BeEPy95v10@public.gmane.org>,
	Rob Herring <rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org>,
	Colin Cross <ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org>,
	Olof Johansson <olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
	Richard Purdie <rpurdie-Fm38FmjxZ/leoWH0uzbU5w@public.gmane.org>,
	Mark Brown
	<broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>,
	Mitch Bradley <wmb-D5eQfiDGL7eakBO8gow8eQ@public.gmane.org>,
	Mike Frysinger <vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org>,
	Eric Miao <eric.y.miao-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>,
	Ryan Mallon <rmallon-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Shawn Guo <shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Bernhard Walle <walle-pDveNdigDaDu9UdzE1sIFA@public.gmane.org>
Subject: Re: [PATCH v5 09/16] pwm: tegra: Add device tree support
Date: Wed, 04 Apr 2012 12:32:04 -0600	[thread overview]
Message-ID: <4F7C93A4.5000906@wwwdotorg.org> (raw)
In-Reply-To: <20120404050054.GA30807-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>

On 04/03/2012 11:00 PM, Thierry Reding wrote:
> * Grant Likely wrote:
>> On Tue, 3 Apr 2012 19:55:11 +0200, Thierry Reding <thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org> wrote:
>>> * Stephen Warren wrote:
>>>> On 04/02/2012 02:37 AM, Thierry Reding wrote:
>>>>> * Stephen Warren wrote:
>>>>>> On 03/28/2012 08:33 AM, Thierry Reding wrote:
>>>>>>> Add auxdata to instantiate the PWFM controller from a device tree,
>>>>>>> include the corresponding nodes in the dtsi files for Tegra 20 and
>>>>>>> Tegra 30 and add binding documentation.
>>>>>>>
>>>>>>> Signed-off-by: Thierry Reding <thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
>>>>>>> Acked-by: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
>>>>>>
>>>>>>> diff --git a/drivers/pwm/pwm-tegra.c b/drivers/pwm/pwm-tegra.c
>>>>>> ...
>>>>>>> +#ifdef CONFIG_OF
>>>>>>> +static struct of_device_id tegra_pwm_of_match[] = {
>>>>>>> +	{ .compatible = "nvidia,tegra20-pwm" },
>>>>>>> +	{ .compatible = "nvidia,tegra30-pwm" },
>>>>>>
>>>>>> Could you swap those two lines, so that tegra30-pwm matches first. It
>>>>>> makes no difference at present, but might in the future if the driver
>>>>>> actually has to differentiate the two SoCs.
>>>>>
>>>>> I thought the matching order was determined by the compatible property in the
>>>>> device tree, not the OF match table of the driver.
>>>>
>>>> At least logically, yes. However, of_match_device() appears to iterate
>>>> over each match table entry, checking whether it matches any string in
>>>> the compatible flag. Perhaps this could be considered a bug?
>>>
>>> It certainly is counter-intuitive. Maybe Grant or Rob can comment?
>>
>> Yes, it is a bug.  The order of of_device_id should be entirely
>> irrelevant, and the order in the DT compatible property should
>> determine which match entry is returned.
> 
> I've had a look at the code and it looks like a fix will not be entirely
> trivial. I think moving out the compatible check out of the while loop in
> of_match_node() and separately iterate over all strings in the compatible
> property would be the easiest. That will also prioritize the compatible
> match over matches by name and type but I think that's exactly what we
> want. From a quick look it certainly seems like the large majority of
> drivers match by compatible anyway.
> 
> Do you want me to prepare a patch or can you take care of it?
> 
> Stephen: Can I assume that you're fine with this Tegra PWM patch if such
> a change to the matching function is committed?

Yes.

WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 09/16] pwm: tegra: Add device tree support
Date: Wed, 04 Apr 2012 12:32:04 -0600	[thread overview]
Message-ID: <4F7C93A4.5000906@wwwdotorg.org> (raw)
In-Reply-To: <20120404050054.GA30807@avionic-0098.adnet.avionic-design.de>

On 04/03/2012 11:00 PM, Thierry Reding wrote:
> * Grant Likely wrote:
>> On Tue, 3 Apr 2012 19:55:11 +0200, Thierry Reding <thierry.reding@avionic-design.de> wrote:
>>> * Stephen Warren wrote:
>>>> On 04/02/2012 02:37 AM, Thierry Reding wrote:
>>>>> * Stephen Warren wrote:
>>>>>> On 03/28/2012 08:33 AM, Thierry Reding wrote:
>>>>>>> Add auxdata to instantiate the PWFM controller from a device tree,
>>>>>>> include the corresponding nodes in the dtsi files for Tegra 20 and
>>>>>>> Tegra 30 and add binding documentation.
>>>>>>>
>>>>>>> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
>>>>>>> Acked-by: Stephen Warren <swarren@wwwdotorg.org>
>>>>>>
>>>>>>> diff --git a/drivers/pwm/pwm-tegra.c b/drivers/pwm/pwm-tegra.c
>>>>>> ...
>>>>>>> +#ifdef CONFIG_OF
>>>>>>> +static struct of_device_id tegra_pwm_of_match[] = {
>>>>>>> +	{ .compatible = "nvidia,tegra20-pwm" },
>>>>>>> +	{ .compatible = "nvidia,tegra30-pwm" },
>>>>>>
>>>>>> Could you swap those two lines, so that tegra30-pwm matches first. It
>>>>>> makes no difference at present, but might in the future if the driver
>>>>>> actually has to differentiate the two SoCs.
>>>>>
>>>>> I thought the matching order was determined by the compatible property in the
>>>>> device tree, not the OF match table of the driver.
>>>>
>>>> At least logically, yes. However, of_match_device() appears to iterate
>>>> over each match table entry, checking whether it matches any string in
>>>> the compatible flag. Perhaps this could be considered a bug?
>>>
>>> It certainly is counter-intuitive. Maybe Grant or Rob can comment?
>>
>> Yes, it is a bug.  The order of of_device_id should be entirely
>> irrelevant, and the order in the DT compatible property should
>> determine which match entry is returned.
> 
> I've had a look at the code and it looks like a fix will not be entirely
> trivial. I think moving out the compatible check out of the while loop in
> of_match_node() and separately iterate over all strings in the compatible
> property would be the easiest. That will also prioritize the compatible
> match over matches by name and type but I think that's exactly what we
> want. From a quick look it certainly seems like the large majority of
> drivers match by compatible anyway.
> 
> Do you want me to prepare a patch or can you take care of it?
> 
> Stephen: Can I assume that you're fine with this Tegra PWM patch if such
> a change to the matching function is committed?

Yes.

  parent reply	other threads:[~2012-04-04 18:32 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-28 14:33 [PATCH v5 00/16] Add PWM framework and device tree support Thierry Reding
2012-03-28 14:33 ` Thierry Reding
     [not found] ` <1332945238-14897-1-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-28 14:33   ` [PATCH v5 01/16] pwm: Add PWM framework support Thierry Reding
2012-03-28 14:33     ` Thierry Reding
     [not found]     ` <1332945238-14897-2-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-29 21:41       ` Mark Brown
2012-03-29 21:41         ` Mark Brown
2012-04-04  6:36       ` Shawn Guo
2012-04-04  6:36         ` Shawn Guo
     [not found]         ` <20120404063605.GB7264-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-04-04  6:39           ` Thierry Reding
2012-04-04  6:39             ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 02/16] pwm: Allow chips to support multiple PWMs Thierry Reding
2012-03-28 14:33     ` Thierry Reding
     [not found]     ` <1332945238-14897-3-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-29 21:50       ` Mark Brown
2012-03-29 21:50         ` Mark Brown
2012-04-04  6:44       ` Shawn Guo
2012-04-04  6:44         ` Shawn Guo
2012-03-28 14:33   ` [PATCH v5 03/16] pwm: Add debugfs interface Thierry Reding
2012-03-28 14:33     ` Thierry Reding
     [not found]     ` <1332945238-14897-4-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-29 21:56       ` Mark Brown
2012-03-29 21:56         ` Mark Brown
2012-04-04  6:47       ` Shawn Guo
2012-04-04  6:47         ` Shawn Guo
2012-03-28 14:33   ` [PATCH v5 04/16] pwm: Add table-based lookup for static mappings Thierry Reding
2012-03-28 14:33     ` Thierry Reding
     [not found]     ` <1332945238-14897-5-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-29 22:03       ` Mark Brown
2012-03-29 22:03         ` Mark Brown
2012-03-30  5:06         ` Thierry Reding
2012-03-30  5:06           ` Thierry Reding
     [not found]           ` <20120330050641.GA21823-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-03-30 10:18             ` Mark Brown
2012-03-30 10:18               ` Mark Brown
     [not found]               ` <20120330101800.GD21950-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-03-30 10:38                 ` Thierry Reding
2012-03-30 10:38                   ` Thierry Reding
     [not found]                   ` <20120330103840.GB961-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-03-31 14:30                     ` Thierry Reding
2012-03-31 14:30                       ` Thierry Reding
     [not found]                       ` <20120331143021.GA18382-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-04-01 15:20                         ` Shawn Guo
2012-04-01 15:20                           ` Shawn Guo
     [not found]                           ` <20120401152042.GE2395-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-04-02  0:47                             ` Shawn Guo
2012-04-02  0:47                               ` Shawn Guo
     [not found]                               ` <20120402004730.GA910-rvtDTF3kK1ictlrPMvKcciBecyulp+rMXqFh9Ls21Oc@public.gmane.org>
2012-04-02  4:50                                 ` Thierry Reding
2012-04-02  4:50                                   ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 05/16] pwm: Add device tree support Thierry Reding
2012-03-28 14:33     ` Thierry Reding
     [not found]     ` <1332945238-14897-6-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-28 14:53       ` Arnd Bergmann
2012-03-28 14:53         ` Arnd Bergmann
2012-03-29 21:47       ` Mark Brown
2012-03-29 21:47         ` Mark Brown
     [not found]         ` <20120329214717.GG4153-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-03-30  6:24           ` Thierry Reding
2012-03-30  6:24             ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 06/16] ARM: tegra: Fix PWM clock programming Thierry Reding
2012-03-28 14:33     ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 07/16] ARM: tegra: Provide clock for only one PWM controller Thierry Reding
2012-03-28 14:33     ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 08/16] pwm: Add NVIDIA Tegra SoC support Thierry Reding
2012-03-28 14:33     ` Thierry Reding
     [not found]     ` <1332945238-14897-9-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-30 18:57       ` Stephen Warren
2012-03-30 18:57         ` Stephen Warren
2012-04-04  6:54       ` Shawn Guo
2012-04-04  6:54         ` Shawn Guo
2012-03-28 14:33   ` [PATCH v5 09/16] pwm: tegra: Add device tree support Thierry Reding
2012-03-28 14:33     ` Thierry Reding
     [not found]     ` <1332945238-14897-10-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-30 19:00       ` Stephen Warren
2012-03-30 19:00         ` Stephen Warren
     [not found]         ` <4F7602CD.2010808-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-04-02  8:37           ` Thierry Reding
2012-04-02  8:37             ` Thierry Reding
     [not found]             ` <20120402083749.GA6576-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-04-02 15:42               ` Stephen Warren
2012-04-02 15:42                 ` Stephen Warren
     [not found]                 ` <4F79C8D4.2000306-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-04-03 17:55                   ` Thierry Reding
2012-04-03 17:55                     ` Thierry Reding
     [not found]                     ` <20120403175511.GA26399-RM9K5IK7kjIQXX3q8xo1gnVAuStQJXxyR5q1nwbD4aMs9pC9oP6+/A@public.gmane.org>
2012-04-03 19:43                       ` Rob Herring
2012-04-03 19:43                         ` Rob Herring
2012-04-03 23:42                       ` Grant Likely
2012-04-03 23:42                         ` Grant Likely
2012-04-04  5:00                         ` Thierry Reding
2012-04-04  5:00                           ` Thierry Reding
     [not found]                           ` <20120404050054.GA30807-RM9K5IK7kjIyiCvfTdI0JKcOhU4Rzj621B7CTYaBSLdn68oJJulU0Q@public.gmane.org>
2012-04-04 18:32                             ` Stephen Warren [this message]
2012-04-04 18:32                               ` Stephen Warren
2012-04-07  1:44                               ` Grant Likely
2012-04-07  1:44                                 ` Grant Likely
2012-03-28 14:33   ` [PATCH v5 10/16] pwm: Move Blackfin PWM driver to PWM framework Thierry Reding
2012-03-28 14:33     ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 11/16] pwm: Move PXA " Thierry Reding
2012-03-28 14:33     ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 12/16] ARM i.MX: Move i.MX pwm driver to pwm framework Thierry Reding
2012-03-28 14:33     ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 13/16] ARM Samsung: Move s3c " Thierry Reding
2012-03-28 14:33     ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 14/16] ARM vt8500: Move vt8500 " Thierry Reding
2012-03-28 14:33     ` Thierry Reding
2012-03-28 14:33   ` [PATCH v5 16/16] pwm: Take over maintainership of the PWM subsystem Thierry Reding
2012-03-28 14:33     ` Thierry Reding
2012-03-28 14:33 ` [PATCH v5 15/16] pwm-backlight: Add rudimentary device tree support Thierry Reding
2012-03-28 14:33   ` Thierry Reding
     [not found]   ` <1332945238-14897-16-git-send-email-thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org>
2012-03-30 19:04     ` Stephen Warren
2012-03-30 19:04       ` Stephen Warren
     [not found]       ` <4F7603BC.2050300-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2012-04-04 18:11         ` Thierry Reding
2012-04-04 18:11           ` Thierry Reding

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=4F7C93A4.5000906@wwwdotorg.org \
    --to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
    --cc=arnd-r2nGTMty4D4@public.gmane.org \
    --cc=broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org \
    --cc=ccross-z5hGa2qSFaRBDgjK7y7TUQ@public.gmane.org \
    --cc=devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=eric.y.miao-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=kurt.van.dijck-/BeEPy95v10@public.gmane.org \
    --cc=lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=matthias-RprLehDfhQ3k1uMJSBkQmQ@public.gmane.org \
    --cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
    --cc=rmallon-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=rob.herring-bsGFqQB8/DxBDgjK7y7TUQ@public.gmane.org \
    --cc=rpurdie-Fm38FmjxZ/leoWH0uzbU5w@public.gmane.org \
    --cc=s.hauer-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
    --cc=shawn.guo-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=thierry.reding-RM9K5IK7kjKj5M59NBduVrNAH6kLmebB@public.gmane.org \
    --cc=vapier-aBrp7R+bbdUdnm+yROfE0A@public.gmane.org \
    --cc=walle-pDveNdigDaDu9UdzE1sIFA@public.gmane.org \
    --cc=wmb-D5eQfiDGL7eakBO8gow8eQ@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.