Message ID | 20240226031951.284847-1-andrew@codeconstruct.com.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] dt-bindings: gpio: aspeed,ast2400-gpio: Convert to DT schema | expand |
On Mon, 26 Feb 2024 13:49:51 +1030, Andrew Jeffery wrote: > Squash warnings such as: > > ``` > arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-galaxy100.dtb: /ahb/apb@1e600000/gpio@1e780000: failed to match any schema with compatible: ['aspeed,ast2400-gpio'] > ``` > > Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> > --- > v2: Address feedback from Krzysztof: > https://lore.kernel.org/all/0d1dd262-b6dd-4d71-9239-8b0aec8cceff@linaro.org/ > > v1: https://lore.kernel.org/all/20240220052918.742793-1-andrew@codeconstruct.com.au/ > > .../bindings/gpio/aspeed,ast2400-gpio.yaml | 73 +++++++++++++++++++ > .../devicetree/bindings/gpio/gpio-aspeed.txt | 39 ---------- > 2 files changed, 73 insertions(+), 39 deletions(-) > create mode 100644 Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml > delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-aspeed.txt > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.example.dtb: gpio@1e780000: '#interrupt-cells' is a required property from schema $id: http://devicetree.org/schemas/gpio/aspeed,ast2400-gpio.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240226031951.284847-1-andrew@codeconstruct.com.au The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On Mon, Feb 26, 2024 at 01:49:51PM +1030, Andrew Jeffery wrote: > Squash warnings such as: > > ``` > arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-galaxy100.dtb: /ahb/apb@1e600000/gpio@1e780000: failed to match any schema with compatible: ['aspeed,ast2400-gpio'] > ``` > > Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> > --- > v2: Address feedback from Krzysztof: > https://lore.kernel.org/all/0d1dd262-b6dd-4d71-9239-8b0aec8cceff@linaro.org/ > > v1: https://lore.kernel.org/all/20240220052918.742793-1-andrew@codeconstruct.com.au/ > > .../bindings/gpio/aspeed,ast2400-gpio.yaml | 73 +++++++++++++++++++ > .../devicetree/bindings/gpio/gpio-aspeed.txt | 39 ---------- > 2 files changed, 73 insertions(+), 39 deletions(-) > create mode 100644 Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml > delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-aspeed.txt > > diff --git a/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml b/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml > new file mode 100644 > index 000000000000..74d376567dfc > --- /dev/null > +++ b/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml > @@ -0,0 +1,73 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/gpio/aspeed,ast2400-gpio.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Aspeed GPIO controller > + > +maintainers: > + - Andrew Jeffery <andrew@codeconstruct.com.au> > + > +properties: > + compatible: > + enum: > + - aspeed,ast2400-gpio > + - aspeed,ast2500-gpio > + - aspeed,ast2600-gpio > + > + reg: > + maxItems: 1 > + > + clocks: > + maxItems: 1 > + description: The clock to use for debounce timings The original binding does not require this clock, but I can't help but wonder if it should be required. I suspect that this peripheral does not actually work if a clock is not provided to it. Whether or not the rate of the clock is then used by the driver for debounce timings or whatever is a different question. Otherwise though, this looks fine to me. Reviewed-by: Conor Dooley <conor.dooley@microchip.com> Cheers, Conor. > + "#gpio-cells": > + const: 2 > + > + gpio-controller: true > + gpio-line-names: true > + gpio-ranges: true > + > + interrupts: > + maxItems: 1 > + > + interrupt-controller: true > + > + "#interrupt-cells": > + const: 2 > + > + ngpios: true > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-controller > + - "#interrupt-cells" > + - "#gpio-cells" > + - gpio-controller > + > +allOf: > + - if: > + properties: > + compatible: > + contains: > + const: aspeed,ast2600-gpio > + then: > + required: > + - ngpios > + > +additionalProperties: false > + > +examples: > + - | > + gpio@1e780000 { > + compatible = "aspeed,ast2400-gpio"; > + reg = <0x1e780000 0x1000>; > + interrupts = <20>; > + interrupt-controller; > + #gpio-cells = <2>; > + gpio-controller; > + }; > diff --git a/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt b/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt > deleted file mode 100644 > index b2033fc3a71a..000000000000 > --- a/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt > +++ /dev/null > @@ -1,39 +0,0 @@ > -Aspeed GPIO controller Device Tree Bindings > -------------------------------------------- > - > -Required properties: > -- compatible : Either "aspeed,ast2400-gpio", "aspeed,ast2500-gpio", > - or "aspeed,ast2600-gpio". > - > -- #gpio-cells : Should be two > - - First cell is the GPIO line number > - - Second cell is used to specify optional > - parameters (unused) > - > -- reg : Address and length of the register set for the device > -- gpio-controller : Marks the device node as a GPIO controller. > -- interrupts : Interrupt specifier (see interrupt bindings for > - details) > -- interrupt-controller : Mark the GPIO controller as an interrupt-controller > - > -Optional properties: > - > -- clocks : A phandle to the clock to use for debounce timings > -- ngpios : Number of GPIOs controlled by this controller. Should be set > - when there are multiple GPIO controllers on a SoC (ast2600). > - > -The gpio and interrupt properties are further described in their respective > -bindings documentation: > - > -- Documentation/devicetree/bindings/gpio/gpio.txt > -- Documentation/devicetree/bindings/interrupt-controller/interrupts.txt > - > - Example: > - gpio@1e780000 { > - #gpio-cells = <2>; > - compatible = "aspeed,ast2400-gpio"; > - gpio-controller; > - interrupts = <20>; > - reg = <0x1e780000 0x1000>; > - interrupt-controller; > - }; > -- > 2.39.2 >
diff --git a/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml b/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml new file mode 100644 index 000000000000..74d376567dfc --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpio/aspeed,ast2400-gpio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Aspeed GPIO controller + +maintainers: + - Andrew Jeffery <andrew@codeconstruct.com.au> + +properties: + compatible: + enum: + - aspeed,ast2400-gpio + - aspeed,ast2500-gpio + - aspeed,ast2600-gpio + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + description: The clock to use for debounce timings + + "#gpio-cells": + const: 2 + + gpio-controller: true + gpio-line-names: true + gpio-ranges: true + + interrupts: + maxItems: 1 + + interrupt-controller: true + + "#interrupt-cells": + const: 2 + + ngpios: true + +required: + - compatible + - reg + - interrupts + - interrupt-controller + - "#interrupt-cells" + - "#gpio-cells" + - gpio-controller + +allOf: + - if: + properties: + compatible: + contains: + const: aspeed,ast2600-gpio + then: + required: + - ngpios + +additionalProperties: false + +examples: + - | + gpio@1e780000 { + compatible = "aspeed,ast2400-gpio"; + reg = <0x1e780000 0x1000>; + interrupts = <20>; + interrupt-controller; + #gpio-cells = <2>; + gpio-controller; + }; diff --git a/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt b/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt deleted file mode 100644 index b2033fc3a71a..000000000000 --- a/Documentation/devicetree/bindings/gpio/gpio-aspeed.txt +++ /dev/null @@ -1,39 +0,0 @@ -Aspeed GPIO controller Device Tree Bindings -------------------------------------------- - -Required properties: -- compatible : Either "aspeed,ast2400-gpio", "aspeed,ast2500-gpio", - or "aspeed,ast2600-gpio". - -- #gpio-cells : Should be two - - First cell is the GPIO line number - - Second cell is used to specify optional - parameters (unused) - -- reg : Address and length of the register set for the device -- gpio-controller : Marks the device node as a GPIO controller. -- interrupts : Interrupt specifier (see interrupt bindings for - details) -- interrupt-controller : Mark the GPIO controller as an interrupt-controller - -Optional properties: - -- clocks : A phandle to the clock to use for debounce timings -- ngpios : Number of GPIOs controlled by this controller. Should be set - when there are multiple GPIO controllers on a SoC (ast2600). - -The gpio and interrupt properties are further described in their respective -bindings documentation: - -- Documentation/devicetree/bindings/gpio/gpio.txt -- Documentation/devicetree/bindings/interrupt-controller/interrupts.txt - - Example: - gpio@1e780000 { - #gpio-cells = <2>; - compatible = "aspeed,ast2400-gpio"; - gpio-controller; - interrupts = <20>; - reg = <0x1e780000 0x1000>; - interrupt-controller; - };
Squash warnings such as: ``` arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-galaxy100.dtb: /ahb/apb@1e600000/gpio@1e780000: failed to match any schema with compatible: ['aspeed,ast2400-gpio'] ``` Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> --- v2: Address feedback from Krzysztof: https://lore.kernel.org/all/0d1dd262-b6dd-4d71-9239-8b0aec8cceff@linaro.org/ v1: https://lore.kernel.org/all/20240220052918.742793-1-andrew@codeconstruct.com.au/ .../bindings/gpio/aspeed,ast2400-gpio.yaml | 73 +++++++++++++++++++ .../devicetree/bindings/gpio/gpio-aspeed.txt | 39 ---------- 2 files changed, 73 insertions(+), 39 deletions(-) create mode 100644 Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml delete mode 100644 Documentation/devicetree/bindings/gpio/gpio-aspeed.txt