Thread (6 messages) 6 messages, 3 authors, 2024-06-21

Re: [PATCH] dt-bindings: pinctrl: pinctrl-single: Define a max count for "pinctrl-single,gpio-range"

From: Nishanth Menon <nm@ti.com>
Date: 2024-06-18 18:57:18
Also in: linux-devicetree, linux-gpio, lkml

On 12:34-20240618, Rob Herring wrote:
On Tue, 18 Jun 2024 11:51:02 -0500, Nishanth Menon wrote:
quoted
"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@ti.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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help