Message ID | 20240704-adp5588_gpio_support-v6-3-cb65514d714b@analog.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | adp5588-keys: Support for dedicated gpio operation | expand |
On 04/07/2024 12:45, Utsav Agarwal via B4 Relay wrote: > + > + - | > + #include <dt-bindings/interrupt-controller/irq.h> > + #include <dt-bindings/input/input.h> > + #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; > + }; Fix your indentation. It's total mess above. Best regards, Krzysztof
On Thu, 2024-07-04 at 11:45 +0100, Utsav Agarwal via B4 Relay wrote: > From: Utsav Agarwal <utsav.agarwal@analog.com> > > Updating dt bindings for adp5588. Since the device can now function in a > purely gpio mode, the following keypad specific properties are now made > optional: > - interrupts > - keypad,num-rows > - keypad,num-columns > - linux,keymap > > However the above properties are required to be specified when > configuring the device as a keypad, dependencies have been added > such that specifying either one would require the remaining as well. > > Note that interrupts are optional, but required when the device has been > configured in keypad mode. > > Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com> > --- > .../devicetree/bindings/input/adi,adp5588.yaml | 46 +++++++++++++++++++-- > - > 1 file changed, 41 insertions(+), 5 deletions(-) > > diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml > b/Documentation/devicetree/bindings/input/adi,adp5588.yaml > index 26ea66834ae2..83d1fe19e300 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 since the > + device then acts as gpio only, during which interrupts may or may > + not be utilized. > > '#interrupt-cells': > const: 2 > @@ -65,13 +68,28 @@ 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 The above seems pretty generic. Maybe it could be moved into matrix-keymap.yaml at some point... - Nuno Sá
Hi Krzysztof, > -----Original Message----- > From: Krzysztof Kozlowski <krzk@kernel.org> > Sent: Thursday, July 4, 2024 11:59 AM > To: Agarwal, Utsav <Utsav.Agarwal@analog.com>; Hennerich, Michael > <Michael.Hennerich@analog.com>; Dmitry Torokhov > <dmitry.torokhov@gmail.com>; Rob Herring <robh@kernel.org>; Krzysztof > Kozlowski <krzk+dt@kernel.org>; Conor Dooley <conor+dt@kernel.org>; Sa, > Nuno <Nuno.Sa@analog.com> > Cc: linux-input@vger.kernel.org; devicetree@vger.kernel.org; linux- > kernel@vger.kernel.org; Artamonovs, Arturs > <Arturs.Artamonovs@analog.com>; Bimpikas, Vasileios > <Vasileios.Bimpikas@analog.com>; Gaskell, Oliver > <Oliver.Gaskell@analog.com> > Subject: Re: [PATCH v6 3/3] dt-bindings: input: Update dtbinding for adp5588 > > [External] > > On 04/07/2024 12:45, Utsav Agarwal via B4 Relay wrote: > > + > > + - | > > + #include <dt-bindings/interrupt-controller/irq.h> > > + #include <dt-bindings/input/input.h> > > + #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; > > + }; > > Fix your indentation. It's total mess above. > > Best regards, > Krzysztof Apologies for the same, I will be fixing it. Thanks, Utsav
diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml b/Documentation/devicetree/bindings/input/adi,adp5588.yaml index 26ea66834ae2..83d1fe19e300 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 since the + device then acts as gpio only, during which interrupts may or may + not be utilized. '#interrupt-cells': const: 2 @@ -65,13 +68,28 @@ 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 + +if: + required: + - linux,keymap +then: + required: + - interrupts + required: - compatible - reg - - interrupts - - keypad,num-rows - - keypad,num-columns - - linux,keymap unevaluatedProperties: false @@ -108,4 +126,22 @@ examples: >; }; }; + + - | + #include <dt-bindings/interrupt-controller/irq.h> + #include <dt-bindings/input/input.h> + #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; + }; + }; + ...