2020-09-17 16:58:55

by Krzysztof Kozlowski

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

Include the common GPIO schema in GPIO controllers to be sure all common
properties are properly validated.

Signed-off-by: Krzysztof Kozlowski <[email protected]>

---

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 <[email protected]>
- Geert Uytterhoeven <[email protected]>

+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':
--
2.17.1


2020-09-17 19:07:05

by Paul Cercueil

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

Hi,


Le jeu. 17 sept. 2020 ? 18:52, Krzysztof Kozlowski <[email protected]> a
?crit :
> Include the common GPIO schema in GPIO controllers to be sure all
> common
> properties are properly validated.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>

Acked-by: Paul Cercueil <[email protected]>

Cheers,
-Paul

>
> ---
>
> 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 <[email protected]>
> - Geert Uytterhoeven <[email protected]>
>
> +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':
> --
> 2.17.1
>


2020-09-17 20:14:34

by Laurent Pinchart

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

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 <[email protected]>
>
> ---
>
> 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 <[email protected]>
> - Geert Uytterhoeven <[email protected]>
>
> +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

2020-09-18 08:21:59

by Krzysztof Kozlowski

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

On Thu, 17 Sep 2020 at 22:12, Laurent Pinchart
<[email protected]> wrote:
>
> 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 ?

Good point. However not with "additionalPropeties: false". Schema
requires all properties to be mentioned. I would need to use
"unevaluatedProperties: false" in each file.

What is preferred?

Best regards,
Krzysztof

2020-09-18 14:22:29

by Laurent Pinchart

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

Hi Krzysztof,

On Fri, Sep 18, 2020 at 10:19:25AM +0200, Krzysztof Kozlowski wrote:
> On Thu, 17 Sep 2020 at 22:12, Laurent Pinchart wrote:
> > 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 ?
>
> Good point. However not with "additionalPropeties: false". Schema
> requires all properties to be mentioned. I would need to use
> "unevaluatedProperties: false" in each file.
>
> What is preferred?

I've seen Rob advocating for unevaluatedProperties multiple times, but
I'll let him comment on this, I don't want to speak for him.

--
Regards,

Laurent Pinchart

2020-09-21 09:59:33

by Charles Keepax

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

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.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
>
> ---

For the Cirrus bits:

Acked-by: Charles Keepax <[email protected]>

Thanks,
Charles