[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240618185705.5fwevm7drphgvwl2@dilation>
Date: Tue, 18 Jun 2024 13:57:05 -0500
From: Nishanth Menon <nm@...com>
To: "Rob Herring (Arm)" <robh@...nel.org>
CC: <linux-kernel@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>,
Conor Dooley <conor+dt@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, <linux-gpio@...r.kernel.org>,
Linus
Walleij <linus.walleij@...aro.org>,
Tony Lindgren <tony@...mide.com>
Subject: Re: [PATCH] dt-bindings: pinctrl: pinctrl-single: Define a max count
for "pinctrl-single,gpio-range"
On 12:34-20240618, Rob Herring wrote:
>
> On Tue, 18 Jun 2024 11:51:02 -0500, Nishanth Menon wrote:
> > "pinctrl-single,gpio-range" allows us to define a dis-contiguous
> > range of pinctrl registers that can have different mux settings for
> > GPIO mode of operation. However, the maxItems seem to be set to 1 in
> > processed schema for some reason. This is incorrect. For example:
> > arch/arm64/boot/dts/hisilicon/hi6220.dtsi and others have more than
> > one dis-contiguous range.
> >
> > Arbitrarily define a max 100 count to override the defaults.
> >
> > Signed-off-by: Nishanth Menon <nm@...com>
> > ---
> > I am not sure if I should call this RFC or not.. and if this is even the
> > right solution.. I am on 2024.05 dt-schema for this check.
> >
> > I noticed this when adding gpio-ranges for am62p platform:
> > https://gist.github.com/nmenon/7019cd2f24be47997640df5db60a7544
> >
> > It is possible that this is a bug in dt-schema, but I have'nt been able
> > to track it down either.
> >
> > behavior seen is the following:
> > pinctrl-single,gpio-range = <&mcu_pmx_range 0 21 7>;
> > generates no warning
> > However,
> > pinctrl-single,gpio-range = <&mcu_pmx_range 0 21 7>, <&mcu_pmx_range 32 2 7>;
> >
> > generates "is too long" warning.
> >
> >
> > Documentation/devicetree/bindings/pinctrl/pinctrl-single.yaml | 1 +
> > 1 file changed, 1 insertion(+)
> >
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/pinctrl/pinctrl-single.yaml: properties:pinctrl-single,gpio-range: {'description': 'Optional list of pin base, nr pins & gpio function', '$ref': '/schemas/types.yaml#/definitions/phandle-array', 'maxItems': 100, 'items': [{'items': [{'description': 'phandle of a gpio-range node'}, {'description': 'pin base'}, {'description': 'number of pins'}, {'description': 'gpio function'}]}]} should not be valid under {'required': ['maxItems']}
> hint: "maxItems" is not needed with an "items" list
> from schema $id: http://devicetree.org/meta-schemas/items.yaml#
yes, I had expected the same, but processed schema indicates a maxItems
of 1 for reasons I am unable to make sense of.. will be great to have
some additional eyes:
https://gist.github.com/nmenon/7019cd2f24be47997640df5db60a7544#file-processed-schema-pinctrl
next-20240617 baseline
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
Powered by blists - more mailing lists