From: Andrew Davis <afd@ti.com>
To: Nishanth Menon <nm@ti.com>, Linus Walleij <linus.walleij@linaro.org>
Cc: "Rob Herring (Arm)" <robh@kernel.org>,
<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
Conor Dooley <conor+dt@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
<linux-gpio@vger.kernel.org>, Tony Lindgren <tony@atomide.com>
Subject: Re: [PATCH] dt-bindings: pinctrl: pinctrl-single: Define a max count for "pinctrl-single,gpio-range"
Date: Fri, 21 Jun 2024 09:00:10 -0500 [thread overview]
Message-ID: <1941910c-527f-4183-98f5-db11cc4e078b@ti.com> (raw)
In-Reply-To: <20240621133636.wfy3ucf2qkcqphdf@lantern>
On 6/21/24 8:36 AM, Nishanth Menon wrote:
> On 11:19-20240619, Andrew Davis wrote:
> [...]
>
>>
>> This binding is a bit of a mess, the phandle is always a pointer to
>> a node with the cells length hard-coded to 3. This looks to have been done
>> to allow the driver to use the function "of_parse_phandle_with_args" which
>> needs a property name for to find the cell count. But that makes no sense
>> as the count is always 3, the driver cannot accept any other value. The
>> driver should have just looped of_get_property() 3 times but wanted to
>> use the helper. So a silly driver mistake has turned into a binding issue.
>>
>> We should drop the "pinctrl-single,gpio-range" from the binding and
>> fix the driver.
My bad, I meant to say drop "#pinctrl-single,gpio-range-cells" and drop
the phandle from "pinctrl-single,gpio-range".
The #-cells is meant for a producer to define args for a consumer phandle.
This is so common in DT there is a helper function for it. The problem
is the author of the driver here wanted to use that helper, even though it
would be backwards in this case (pinmux is the consumer).
So we have a node inside the pinmux node that exists only to expose a fixed
number (3) of cells so that a different node inside the same pinmux node
could point to itself to make a helper function happy (that didn't need to
be used in the first place)..
Andrew
>
> Linus W: pinctrl-single,gpio-range -> any thoughts here? I think it is a
> valid (if a bit too flexible design looking at the existing users who
> just use a single mux value mapping for all modes)
>
prev parent reply other threads:[~2024-06-21 14:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-18 16:51 [PATCH] dt-bindings: pinctrl: pinctrl-single: Define a max count for "pinctrl-single,gpio-range" Nishanth Menon
2024-06-18 18:34 ` Rob Herring (Arm)
2024-06-18 18:57 ` Nishanth Menon
2024-06-19 16:19 ` Andrew Davis
2024-06-21 13:36 ` Nishanth Menon
2024-06-21 14:00 ` Andrew Davis [this message]
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=1941910c-527f-4183-98f5-db11cc4e078b@ti.com \
--to=afd@ti.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nm@ti.com \
--cc=robh@kernel.org \
--cc=tony@atomide.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).