Re: [PATCH v2 09/13] dt-bindings: pinctrl: include common schema in GPIO controllers

From: Laurent Pinchart
Date: Thu Sep 17 2020 - 16:12:39 EST


Hi Krzysztof,

Thank you for the patch.

On Thu, Sep 17, 2020 at 06:52:57PM +0200, Krzysztof Kozlowski wrote:
> Include the common GPIO schema in GPIO controllers to be sure all common
> properties are properly validated.

Shouldn't we delete the properties that are now redundant from these
schemas ?

> Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>
> ---
>
> Changes since v1:
> 1. New patch
> ---
> .../devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml | 3 +++
> .../bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml | 1 +
> .../devicetree/bindings/pinctrl/cirrus,lochnagar.yaml | 3 +++
> Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml | 3 +++
> .../devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml | 3 +++
> Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml | 3 +++
> .../devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml | 3 +++
> .../devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml | 3 +++
> .../devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml | 3 +++
> .../devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml | 3 +++
> .../devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml | 3 +++
> 11 files changed, 31 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml
> index 33391d30c00c..51bfc214bba6 100644
> --- a/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/actions,s500-pinctrl.yaml
> @@ -15,6 +15,9 @@ description: |
> GPIO function selection & GPIO attributes configuration. Please refer to
> pinctrl-bindings.txt in this directory for common binding part and usage.
>
> +allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> compatible:
> const: actions,s500-pinctrl
> diff --git a/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml
> index 7556be6e2754..55662f8d1f94 100644
> --- a/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/allwinner,sun4i-a10-pinctrl.yaml
> @@ -143,6 +143,7 @@ allOf:
> # boards are defining it at the moment so it would generate a lot of
> # warnings.
>
> + - $ref: /schemas/gpio/gpio-common.yaml#
> - if:
> properties:
> compatible:
> diff --git a/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
> index 420d74856032..ed478b0ed4cc 100644
> --- a/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/cirrus,lochnagar.yaml
> @@ -31,6 +31,9 @@ description: |
> This binding must be part of the Lochnagar MFD binding:
> [4] ../mfd/cirrus,lochnagar.yaml
>
> +allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> compatible:
> enum:
> diff --git a/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml
> index 44c04d11ae4c..ffa64832b4f9 100644
> --- a/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/ingenic,pinctrl.yaml
> @@ -59,6 +59,9 @@ properties:
> patternProperties:
> "^gpio@[0-9]$":
> type: object
> + allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> compatible:
> enum:
> diff --git a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
> index 152c151c27ad..7d0a4cb96f39 100644
> --- a/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/mediatek,mt6779-pinctrl.yaml
> @@ -14,6 +14,9 @@ description: |+
> required property:
> - compatible: "syscon"
>
> +allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> compatible:
> const: mediatek,mt6779-pinctrl
> diff --git a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml
> index 5556def6b99b..bc8bc0ac1926 100644
> --- a/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml
> @@ -12,6 +12,9 @@ maintainers:
> description: |
> The Mediatek's Pin controller is used to control SoC pins.
>
> +allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> compatible:
> const: mediatek,mt8192-pinctrl
> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml
> index c64c93206817..22a6b80b4c0e 100644
> --- a/Documentation/devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,ipq6018-pinctrl.yaml
> @@ -13,6 +13,9 @@ description: |
> This binding describes the Top Level Mode Multiplexer block found in the
> IPQ6018 platform.
>
> +allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> compatible:
> const: qcom,ipq6018-pinctrl
> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml
> index 1f0f5757f9e1..9855d859fe61 100644
> --- a/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,msm8226-pinctrl.yaml
> @@ -13,6 +13,9 @@ description: |
> This binding describes the Top Level Mode Multiplexer block found in the
> MSM8226 platform.
>
> +allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> compatible:
> const: qcom,msm8226-pinctrl
> diff --git a/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml
> index 8508c57522fd..e5757b6ced40 100644
> --- a/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/qcom,sm8250-pinctrl.yaml
> @@ -13,6 +13,9 @@ description: |
> This binding describes the Top Level Mode Multiplexer block found in the
> SM8250 platform.
>
> +allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> compatible:
> const: qcom,sm8250-pinctrl
> diff --git a/Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml
> index b7911a994f3a..4d7bf4340262 100644
> --- a/Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/renesas,rza2-pinctrl.yaml
> @@ -10,6 +10,9 @@ maintainers:
> - Chris Brandt <chris.brandt@xxxxxxxxxxx>
> - Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
>
> +allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> description:
> The Renesas SoCs of the RZ/A2 series feature a combined Pin and GPIO
> controller.
> diff --git a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
> index 72877544ca78..28b861362ba0 100644
> --- a/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
> +++ b/Documentation/devicetree/bindings/pinctrl/st,stm32-pinctrl.yaml
> @@ -56,6 +56,9 @@ properties:
> patternProperties:
> '^gpio@[0-9a-f]*$':
> type: object
> + allOf:
> + - $ref: /schemas/gpio/gpio-common.yaml#
> +
> properties:
> gpio-controller: true
> '#gpio-cells':

--
Regards,

Laurent Pinchart