Message ID | 20200917165301.23100-10-krzk@kernel.org |
---|---|
State | New |
Headers | show |
Series | gpio: add common dtschema | expand |
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@kernel.org> > > --- > > 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@renesas.com> > - Geert Uytterhoeven <geert+renesas@glider.be> > > +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
On Thu, 17 Sep 2020 at 22:12, Laurent Pinchart <laurent.pinchart@ideasonboard.com> 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
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 <krzk@kernel.org> > > --- For the Cirrus bits: Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Thanks, Charles
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@renesas.com> - Geert Uytterhoeven <geert+renesas@glider.be> +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':
Include the common GPIO schema in GPIO controllers to be sure all common properties are properly validated. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- 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(+)