Message ID | 20240813-adp5588_gpio_support-v10-3-aab3c52cc8bf@analog.com |
---|---|
State | Superseded |
Headers | show |
Series | adp5588-keys: Support for dedicated gpio operation | expand |
On Tue, 13 Aug 2024 10:51:33 +0100, Utsav Agarwal wrote: > Adding software support for enabling the pure gpio capability of the > device - which allows all I/O to be used as GPIO. Previously, I/O > configuration was limited by software to partial GPIO support only. > > When working in a pure gpio mode, the device does not require the > certain properties and hence, the following are now made optional: > - interrupts > - keypad,num-rows > - keypad,num-columns > - linux,keymap > > However, note that the above are required to be specified when > configuring the device as a keypad, for which dependencies have been added > such that specifying either one requires the remaining as well. > > Also, note that interrupts are made optional, but required when the device > has either been configured in keypad mode or as an interrupt controller. > This has been done since they may not necessarily be used when leveraging > the device purely for GPIO. > > Acked-by: Conor Dooley <conor.dooley@microchip.com> > Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> > --- > .../devicetree/bindings/input/adi,adp5588.yaml | 40 ++++++++++++++++++---- > 1 file changed, 34 insertions(+), 6 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: ./Documentation/devicetree/bindings/input/adi,adp5588.yaml:140:1: [error] syntax error: could not find expected ':' (syntax) dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/input/adi,adp5588.yaml: ignoring, error parsing file ./Documentation/devicetree/bindings/input/adi,adp5588.yaml:140:1: could not find expected ':' make[2]: *** Deleting file 'Documentation/devicetree/bindings/input/adi,adp5588.example.dts' Documentation/devicetree/bindings/input/adi,adp5588.yaml:140:1: could not find expected ':' make[2]: *** [Documentation/devicetree/bindings/Makefile:26: Documentation/devicetree/bindings/input/adi,adp5588.example.dts] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1432: dt_binding_check] Error 2 make: *** [Makefile:224: __sub-make] Error 2 doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240813-adp5588_gpio_support-v10-3-aab3c52cc8bf@analog.com 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.
> -----Original Message----- > From: Conor Dooley <conor@kernel.org> > Sent: Tuesday, August 13, 2024 4:28 PM > To: Agarwal, Utsav <Utsav.Agarwal@analog.com> > Cc: Rob Herring (Arm) <robh@kernel.org>; devicetree@vger.kernel.org; > Hennerich, Michael <Michael.Hennerich@analog.com>; Gaskell, Oliver > <Oliver.Gaskell@analog.com>; Conor Dooley <conor+dt@kernel.org>; Sa, Nuno > <Nuno.Sa@analog.com>; linux-kernel@vger.kernel.org; Bimpikas, Vasileios > <Vasileios.Bimpikas@analog.com>; Conor Dooley > <conor.dooley@microchip.com>; Artamonovs, Arturs > <Arturs.Artamonovs@analog.com>; Krzysztof Kozlowski <krzk+dt@kernel.org>; > linux-input@vger.kernel.org; Dmitry Torokhov <dmitry.torokhov@gmail.com> > Subject: Re: [PATCH v10 3/3] dt-bindings: input: pure gpio support for adp5588 > > [External] > > On Tue, Aug 13, 2024 at 11:50:41AM +0000, Agarwal, Utsav wrote: > > > > > > > -----Original Message----- > > > From: Rob Herring (Arm) <robh@kernel.org> > > > Sent: Tuesday, August 13, 2024 12:12 PM > > > To: Agarwal, Utsav <Utsav.Agarwal@analog.com> > > > Cc: devicetree@vger.kernel.org; Hennerich, Michael > > > <Michael.Hennerich@analog.com>; Gaskell, Oliver > > > <Oliver.Gaskell@analog.com>; Conor Dooley <conor+dt@kernel.org>; Sa, > Nuno > > > <Nuno.Sa@analog.com>; linux-kernel@vger.kernel.org; Bimpikas, Vasileios > > > <Vasileios.Bimpikas@analog.com>; Conor Dooley > > > <conor.dooley@microchip.com>; Artamonovs, Arturs > > > <Arturs.Artamonovs@analog.com>; Krzysztof Kozlowski > <krzk+dt@kernel.org>; > > > linux-input@vger.kernel.org; Dmitry Torokhov > <dmitry.torokhov@gmail.com> > > > Subject: Re: [PATCH v10 3/3] dt-bindings: input: pure gpio support for > adp5588 > > > > > > [External] > > > > > > > > > On Tue, 13 Aug 2024 10:51:33 +0100, Utsav Agarwal wrote: > > > > Adding software support for enabling the pure gpio capability of the > > > > device - which allows all I/O to be used as GPIO. Previously, I/O > > > > configuration was limited by software to partial GPIO support only. > > > > > > > > When working in a pure gpio mode, the device does not require the > > > > certain properties and hence, the following are now made optional: > > > > - interrupts > > > > - keypad,num-rows > > > > - keypad,num-columns > > > > - linux,keymap > > > > > > > > However, note that the above are required to be specified when > > > > configuring the device as a keypad, for which dependencies have been > added > > > > such that specifying either one requires the remaining as well. > > > > > > > > Also, note that interrupts are made optional, but required when the device > > > > has either been configured in keypad mode or as an interrupt controller. > > > > This has been done since they may not necessarily be used when leveraging > > > > the device purely for GPIO. > > > > > > > > Acked-by: Conor Dooley <conor.dooley@microchip.com> > > > > Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> > > > > --- > > > > .../devicetree/bindings/input/adi,adp5588.yaml | 40 > ++++++++++++++++++- > > > --- > > > > 1 file changed, 34 insertions(+), 6 deletions(-) > > > > > > > > > > My bot found errors running 'make dt_binding_check' on your patch: > > > > > > yamllint warnings/errors: > > > ./Documentation/devicetree/bindings/input/adi,adp5588.yaml:140:1: [error] > > > syntax error: could not find expected ':' (syntax) > > > > > > dtschema/dtc warnings/errors: > > > /builds/robherring/dt-review- > > > ci/linux/Documentation/devicetree/bindings/input/adi,adp5588.yaml: > ignoring, > > > error parsing file > > > ./Documentation/devicetree/bindings/input/adi,adp5588.yaml:140:1: could > not > > > find expected ':' > > > make[2]: *** Deleting file > > > 'Documentation/devicetree/bindings/input/adi,adp5588.example.dts' > > > Documentation/devicetree/bindings/input/adi,adp5588.yaml:140:1: could > not > > > find expected ':' > > > make[2]: *** [Documentation/devicetree/bindings/Makefile:26: > > > Documentation/devicetree/bindings/input/adi,adp5588.example.dts] Error 1 > > > make[2]: *** Waiting for unfinished jobs.... > > > make[1]: *** [/builds/robherring/dt-review-ci/linux/Makefile:1432: > > > dt_binding_check] Error 2 > > > make: *** [Makefile:224: __sub-make] Error 2 > > > > > > > Apologies, it seems like I accidently deleted the characters towards the end > > of the yaml file when making changes... > > If you make any changes, particularly to an already reviewed binding, > please be sure to run the tests again before sending. > > Thanks, > Conor. My sincere apologies for this, I will send out a revision now correct it. - Utsav
diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml b/Documentation/devicetree/bindings/input/adi,adp5588.yaml index 26ea66834ae2..0721eef7139d 100644 --- a/Documentation/devicetree/bindings/input/adi,adp5588.yaml +++ b/Documentation/devicetree/bindings/input/adi,adp5588.yaml @@ -49,7 +49,10 @@ properties: interrupt-controller: description: This property applies if either keypad,num-rows lower than 8 or - keypad,num-columns lower than 10. + keypad,num-columns lower than 10. This property is optional if + keypad,num-rows or keypad,num-columns are not specified as the + device is then configured to be used purely for gpio during which + interrupts may or may not be utilized. '#interrupt-cells': const: 2 @@ -65,13 +68,23 @@ properties: minItems: 1 maxItems: 2 +dependencies: + keypad,num-rows: + - linux,keymap + - keypad,num-columns + keypad,num-columns: + - linux,keymap + - keypad,num-rows + linux,keymap: + - keypad,num-rows + - keypad,num-columns + - interrupts + interrupt-controller: + - interrupts + required: - compatible - reg - - interrupts - - keypad,num-rows - - keypad,num-columns - - linux,keymap unevaluatedProperties: false @@ -108,4 +121,19 @@ examples: >; }; }; -... + + - | + #include <dt-bindings/gpio/gpio.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + gpio@34 { + compatible = "adi,adp5588"; + reg = <0x34>; + + #gpio-cells = <2>; + gpio-controller; + }; + }; + +.