diff mbox series

[v10,3/3] dt-bindings: input: pure gpio support for adp5588

Message ID 20240813-adp5588_gpio_support-v10-3-aab3c52cc8bf@analog.com (mailing list archive)
State Superseded
Headers show
Series adp5588-keys: Support for dedicated gpio operation | expand

Commit Message

Utsav Agarwal via B4 Relay Aug. 13, 2024, 9:51 a.m. UTC
From: Utsav Agarwal <utsav.agarwal@analog.com>

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(-)

Comments

Rob Herring (Arm) Aug. 13, 2024, 11:12 a.m. UTC | #1
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.
Agarwal, Utsav Aug. 13, 2024, 11:50 a.m. UTC | #2
> -----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...

I will resubmit the correct version, however, will wait a bit more in case any 
further feedback is required to be addressed.

> doc reference errors (make refcheckdocs):
> 
> See
> https://urldefense.com/v3/__https://patchwork.ozlabs.org/project/devicetree-
> bindings/patch/20240813-adp5588_gpio_support-v10-3-
> aab3c52cc8bf@analog.com__;!!A3Ni8CS0y2Y!4tbdOq23VmmmlMgKDLoDULOV
> eThzR4nvCvIk8I7bZCtjY3uTC2j_s4VxQaHIy7PdTr2iKLCA8JvR2eRX$
> 
> 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.

- Utsav
Conor Dooley Aug. 13, 2024, 3:27 p.m. UTC | #3
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.
Agarwal, Utsav Aug. 13, 2024, 7:59 p.m. UTC | #4
> -----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 mbox series

Patch

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;
+        };
+    };
+
+.