Re: [PATCH 17/32] dt-bindings: pinctrl: qcom,msm8909-tlmm: do not require function on non-GPIOs

From: Stephan Gerhold
Date: Sun Sep 25 2022 - 10:06:20 EST


Hi Krzysztof,

On Sat, Sep 24, 2022 at 10:04:44AM +0200, Krzysztof Kozlowski wrote:
> Certain pins, like SDcard related, do not have functions and such should
> not be required.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>

Thanks a lot for all your effort to clean this up!

> ---
> .../bindings/pinctrl/qcom,msm8909-tlmm.yaml | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8909-tlmm.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,msm8909-tlmm.yaml
> index b1735918fa90..e4332e628698 100644
> --- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8909-tlmm.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8909-tlmm.yaml
> @@ -53,7 +53,6 @@ $defs:
> description:
> Pinctrl node's client devices use subnodes for desired pin configuration.
> Client device subnodes use below standard properties.
> - $ref: "qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state"
>
> properties:
> pins:
> @@ -113,7 +112,16 @@ $defs:
>
> required:
> - pins
> - - function
> +
> + allOf:
> + - $ref: "qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state"
> + - if:
> + properties:
> + pins:
> + pattern: "^gpio([0-9]|[1-9][0-9]|10[0-9]|11[0-7])$"
> + then:
> + required:
> + - function
>

Is it possible to place this into qcom,tlmm-common.yaml? If the pattern
is only used to make "function" required for GPIOs, then it should not
matter if it matches just the prefix ("^gpio") or the exact set of
allowed GPIO numbers. The definition of the "pins" property will already
take care of validating those.

Or are there some Qcom SoCs where a GPIO without "function" is valid?

Thanks,
Stephan