diff mbox series

[v5,3/3] dt-bindings: input: Update dtbinding for adp5588

Message ID 20240703-adp5588_gpio_support-v5-3-49fcead0d390@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 July 3, 2024, 10:58 a.m. UTC
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 since 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.

Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
---
 .../devicetree/bindings/input/adi,adp5588.yaml     | 33 ++++++++++++++++++----
 1 file changed, 28 insertions(+), 5 deletions(-)

Comments

Conor Dooley July 3, 2024, 3:20 p.m. UTC | #1
On Wed, Jul 03, 2024 at 11:58:16AM +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 since 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.
> 
> Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
> ---
>  .../devicetree/bindings/input/adi,adp5588.yaml     | 33 ++++++++++++++++++----
>  1 file changed, 28 insertions(+), 5 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml b/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> index 26ea66834ae2..6c06464f822b 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 does not apply if
> +      keypad,num-rows or keypad,num-columns are not specified since the
> +      device then acts as gpio only, during which interrupts are not
> +      utilized.
>  
>    '#interrupt-cells':
>      const: 2
> @@ -65,13 +68,15 @@ properties:
>      minItems: 1
>      maxItems: 2
>  
> +dependencies:
> +  keypad,num-rows: ["keypad,num-columns"]
> +  keypad,num-cols: ["keypad,num-rows"]
> +  linux,keymap: ["keypad,num-rows"]

Is what you've got here sufficient? Adding "keypad,num-rows" won't
mandate "linux,keymap" which I think is wrong. I think all 3 entries
here need to contain both of the other two.

> +  interrupts: ["linux,keymap"]

I still don't understand why interrupts are only allowed when the keymap
is present. I'd cover the interrupts with something like

if:
  required:
    - linux,keymap
  then:
    required:
      - interrupts

so that interrupts can be used while not in keypad mode. Unless of
course there's something (unmentioned in this patch) that prevents that.

Thanks,
Conor.

> +
>  required:
>    - compatible
>    - reg
> -  - interrupts
> -  - keypad,num-rows
> -  - keypad,num-columns
> -  - linux,keymap
>  
>  unevaluatedProperties: false
>  
> @@ -108,4 +113,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;
> +            };
> +        };
> +
>  ...
> 
> -- 
> 2.34.1
> 
>
Agarwal, Utsav July 3, 2024, 3:55 p.m. UTC | #2
Hi Conor,

Thank you for your feedback.
> -----Original Message-----
> From: Conor Dooley <conor@kernel.org>
> Sent: Wednesday, July 3, 2024 4:20 PM
> To: Agarwal, Utsav <Utsav.Agarwal@analog.com>
> Cc: 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>; 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 v5 3/3] dt-bindings: input: Update dtbinding for adp5588
> 
> On Wed, Jul 03, 2024 at 11:58:16AM +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 since 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.
> >
> > Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
> > ---
> >  .../devicetree/bindings/input/adi,adp5588.yaml     | 33
> ++++++++++++++++++----
> >  1 file changed, 28 insertions(+), 5 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> b/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> > index 26ea66834ae2..6c06464f822b 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 does not apply if
> > +      keypad,num-rows or keypad,num-columns are not specified since the
> > +      device then acts as gpio only, during which interrupts are not
> > +      utilized.
> >
> >    '#interrupt-cells':
> >      const: 2
> > @@ -65,13 +68,15 @@ properties:
> >      minItems: 1
> >      maxItems: 2
> >
> > +dependencies:
> > +  keypad,num-rows: ["keypad,num-columns"]
> > +  keypad,num-cols: ["keypad,num-rows"]
> > +  linux,keymap: ["keypad,num-rows"]
> 
> Is what you've got here sufficient? Adding "keypad,num-rows" won't
> mandate "linux,keymap" which I think is wrong. I think all 3 entries
> here need to contain both of the other two.
> 

Ah, I can see the issue, thank you for pointing it out - I will be correcting that.

> > +  interrupts: ["linux,keymap"]
> 
> I still don't understand why interrupts are only allowed when the keymap
> is present. I'd cover the interrupts with something like
> 
> if:
>   required:
>     - linux,keymap
>   then:
>     required:
>       - interrupts
> 
> so that interrupts can be used while not in keypad mode. Unless of
> course there's something (unmentioned in this patch) that prevents that.

In case when the device is not in keypad mode, i.e, is purely using gpio - it doesn't trigger the interrupt.
Due to this, I had restricted the same to keypad mode only(as a requirement). This was mentioned 
here:
https://lore.kernel.org/all/d4661ddc1d253678fd62be4c7e19eb0cff4174f6.camel@gmail.com/

Moreover, this was also included in one of the earlier feedback comments that I had received:
https://lore.kernel.org/all/1fc545709ad2aee0b70a8d1c561516d94cb6fb1e.camel@gmail.com/

Thanks,
Utsav
Conor Dooley July 3, 2024, 3:57 p.m. UTC | #3
On Wed, Jul 03, 2024 at 03:55:11PM +0000, Agarwal, Utsav wrote:
> Hi Conor,
> 
> Thank you for your feedback.
> > -----Original Message-----
> > From: Conor Dooley <conor@kernel.org>
> > Sent: Wednesday, July 3, 2024 4:20 PM
> > To: Agarwal, Utsav <Utsav.Agarwal@analog.com>
> > Cc: 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>; 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 v5 3/3] dt-bindings: input: Update dtbinding for adp5588
> > 
> > On Wed, Jul 03, 2024 at 11:58:16AM +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 since 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.
> > >
> > > Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
> > > ---
> > >  .../devicetree/bindings/input/adi,adp5588.yaml     | 33
> > ++++++++++++++++++----
> > >  1 file changed, 28 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> > b/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> > > index 26ea66834ae2..6c06464f822b 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 does not apply if
> > > +      keypad,num-rows or keypad,num-columns are not specified since the
> > > +      device then acts as gpio only, during which interrupts are not
> > > +      utilized.
> > >
> > >    '#interrupt-cells':
> > >      const: 2
> > > @@ -65,13 +68,15 @@ properties:
> > >      minItems: 1
> > >      maxItems: 2
> > >
> > > +dependencies:
> > > +  keypad,num-rows: ["keypad,num-columns"]
> > > +  keypad,num-cols: ["keypad,num-rows"]
> > > +  linux,keymap: ["keypad,num-rows"]
> > 
> > Is what you've got here sufficient? Adding "keypad,num-rows" won't
> > mandate "linux,keymap" which I think is wrong. I think all 3 entries
> > here need to contain both of the other two.
> > 
> 
> Ah, I can see the issue, thank you for pointing it out - I will be correcting that.
> 
> > > +  interrupts: ["linux,keymap"]
> > 
> > I still don't understand why interrupts are only allowed when the keymap
> > is present. I'd cover the interrupts with something like
> > 
> > if:
> >   required:
> >     - linux,keymap
> >   then:
> >     required:
> >       - interrupts
> > 
> > so that interrupts can be used while not in keypad mode. Unless of
> > course there's something (unmentioned in this patch) that prevents that.
> 
> In case when the device is not in keypad mode, i.e, is purely using gpio - it doesn't trigger the interrupt.
> Due to this, I had restricted the same to keypad mode only(as a requirement). This was mentioned 
> here:
> https://lore.kernel.org/all/d4661ddc1d253678fd62be4c7e19eb0cff4174f6.camel@gmail.com/

This says "not required", not "not functional". How come generating
interrupts becomes impossible when not in keypad mode? That's what needs
to be explained.

Thanks,
Conor.
Nuno Sá July 4, 2024, 7:19 a.m. UTC | #4
On Wed, 2024-07-03 at 16:57 +0100, Conor Dooley wrote:
> On Wed, Jul 03, 2024 at 03:55:11PM +0000, Agarwal, Utsav wrote:
> > Hi Conor,
> > 
> > Thank you for your feedback.
> > > -----Original Message-----
> > > From: Conor Dooley <conor@kernel.org>
> > > Sent: Wednesday, July 3, 2024 4:20 PM
> > > To: Agarwal, Utsav <Utsav.Agarwal@analog.com>
> > > Cc: 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>; 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 v5 3/3] dt-bindings: input: Update dtbinding for
> > > adp5588
> > > 
> > > On Wed, Jul 03, 2024 at 11:58:16AM +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 since 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.
> > > > 
> > > > Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
> > > > ---
> > > >  .../devicetree/bindings/input/adi,adp5588.yaml     | 33
> > > ++++++++++++++++++----
> > > >  1 file changed, 28 insertions(+), 5 deletions(-)
> > > > 
> > > > diff --git a/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> > > b/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> > > > index 26ea66834ae2..6c06464f822b 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 does not apply if
> > > > +      keypad,num-rows or keypad,num-columns are not specified since the
> > > > +      device then acts as gpio only, during which interrupts are not
> > > > +      utilized.
> > > > 
> > > >    '#interrupt-cells':
> > > >      const: 2
> > > > @@ -65,13 +68,15 @@ properties:
> > > >      minItems: 1
> > > >      maxItems: 2
> > > > 
> > > > +dependencies:
> > > > +  keypad,num-rows: ["keypad,num-columns"]
> > > > +  keypad,num-cols: ["keypad,num-rows"]
> > > > +  linux,keymap: ["keypad,num-rows"]
> > > 
> > > Is what you've got here sufficient? Adding "keypad,num-rows" won't
> > > mandate "linux,keymap" which I think is wrong. I think all 3 entries
> > > here need to contain both of the other two.
> > > 
> > 
> > Ah, I can see the issue, thank you for pointing it out - I will be
> > correcting that.
> > 
> > > > +  interrupts: ["linux,keymap"]
> > > 
> > > I still don't understand why interrupts are only allowed when the keymap
> > > is present. I'd cover the interrupts with something like
> > > 
> > > if:
> > >   required:
> > >     - linux,keymap
> > >   then:
> > >     required:
> > >       - interrupts
> > > 
> > > so that interrupts can be used while not in keypad mode. Unless of
> > > course there's something (unmentioned in this patch) that prevents that.
> > 
> > In case when the device is not in keypad mode, i.e, is purely using gpio -
> > it doesn't trigger the interrupt.
> > Due to this, I had restricted the same to keypad mode only(as a
> > requirement). This was mentioned 
> > here:
> > https://lore.kernel.org/all/d4661ddc1d253678fd62be4c7e19eb0cff4174f6.camel@gmail.com/
> 
> This says "not required", not "not functional". How come generating
> interrupts becomes impossible when not in keypad mode? That's what needs
> to be explained.
> 

I should have read the patch before replying in v4. Yes, I agree with Conor that
what we need is to make the interrupt __required__ when using the keypad. In the
case we have gpios, it's optional but it does not mean we should remove it. One
usecase would be to use gpios still as inputs through gpio-keys.

- Nuno Sá
Agarwal, Utsav July 4, 2024, 8:47 a.m. UTC | #5
Hi Conor,

> -----Original Message-----
> From: Nuno Sá <noname.nuno@gmail.com>
> Sent: Thursday, July 4, 2024 8:19 AM
> To: Conor Dooley <conor@kernel.org>; Agarwal, Utsav
> <Utsav.Agarwal@analog.com>
> Cc: 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>; 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 v5 3/3] dt-bindings: input: Update dtbinding for adp5588
> 
> [External]
> 
> On Wed, 2024-07-03 at 16:57 +0100, Conor Dooley wrote:
> > On Wed, Jul 03, 2024 at 03:55:11PM +0000, Agarwal, Utsav wrote:
> > > Hi Conor,
> > >
> > > Thank you for your feedback.
> > > > -----Original Message-----
> > > > From: Conor Dooley <conor@kernel.org>
> > > > Sent: Wednesday, July 3, 2024 4:20 PM
> > > > To: Agarwal, Utsav <Utsav.Agarwal@analog.com>
> > > > Cc: 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>; 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 v5 3/3] dt-bindings: input: Update dtbinding for
> > > > adp5588
> > > >
> > > > On Wed, Jul 03, 2024 at 11:58:16AM +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 since 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.
> > > > >
> > > > > Signed-off-by: Utsav Agarwal <utsav.agarwal@analog.com>
> > > > > ---
> > > > >  .../devicetree/bindings/input/adi,adp5588.yaml     | 33
> > > > ++++++++++++++++++----
> > > > >  1 file changed, 28 insertions(+), 5 deletions(-)
> > > > >
> > > > > diff --git
> a/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> > > > b/Documentation/devicetree/bindings/input/adi,adp5588.yaml
> > > > > index 26ea66834ae2..6c06464f822b 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 does not
> apply if
> > > > > +      keypad,num-rows or keypad,num-columns are not specified
> since the
> > > > > +      device then acts as gpio only, during which interrupts are not
> > > > > +      utilized.
> > > > >
> > > > >    '#interrupt-cells':
> > > > >      const: 2
> > > > > @@ -65,13 +68,15 @@ properties:
> > > > >      minItems: 1
> > > > >      maxItems: 2
> > > > >
> > > > > +dependencies:
> > > > > +  keypad,num-rows: ["keypad,num-columns"]
> > > > > +  keypad,num-cols: ["keypad,num-rows"]
> > > > > +  linux,keymap: ["keypad,num-rows"]
> > > >
> > > > Is what you've got here sufficient? Adding "keypad,num-rows" won't
> > > > mandate "linux,keymap" which I think is wrong. I think all 3 entries
> > > > here need to contain both of the other two.
> > > >
> > >
> > > Ah, I can see the issue, thank you for pointing it out - I will be
> > > correcting that.
> > >
> > > > > +  interrupts: ["linux,keymap"]
> > > >
> > > > I still don't understand why interrupts are only allowed when the
> keymap
> > > > is present. I'd cover the interrupts with something like
> > > >
> > > > if:
> > > >   required:
> > > >     - linux,keymap
> > > >   then:
> > > >     required:
> > > >       - interrupts
> > > >
> > > > so that interrupts can be used while not in keypad mode. Unless of
> > > > course there's something (unmentioned in this patch) that prevents
> that.
> > >
> > > In case when the device is not in keypad mode, i.e, is purely using gpio -
> > > it doesn't trigger the interrupt.
> > > Due to this, I had restricted the same to keypad mode only(as a
> > > requirement). This was mentioned
> > > here:
> > >
> https://urldefense.com/v3/__https://lore.kernel.org/all/d4661ddc1d253678f
> d62be4c7e19eb0cff4174f6.camel@gmail.com/__;!!A3Ni8CS0y2Y!8MV0PPuz1
> XKzaNus-NtAS3oXtrcgaUWHi4sf7zsPFS5zH_NUaNz-qBqUXPBTbTE09wRTVa-
> zYLaSdTte8ymnPyRB$
> >
> > This says "not required", not "not functional". How come generating
> > interrupts becomes impossible when not in keypad mode? That's what
> needs
> > to be explained.
> >
> 
> I should have read the patch before replying in v4. Yes, I agree with Conor
> that
> what we need is to make the interrupt __required__ when using the keypad.
> In the
> case we have gpios, it's optional but it does not mean we should remove it.
> One
> usecase would be to use gpios still as inputs through gpio-keys.
> 
> - Nuno Sá

I see the issue, thank you for highlighting the same. I will make the changes now.

Thanks,
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..6c06464f822b 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 does not apply if
+      keypad,num-rows or keypad,num-columns are not specified since the
+      device then acts as gpio only, during which interrupts are not
+      utilized.
 
   '#interrupt-cells':
     const: 2
@@ -65,13 +68,15 @@  properties:
     minItems: 1
     maxItems: 2
 
+dependencies:
+  keypad,num-rows: ["keypad,num-columns"]
+  keypad,num-cols: ["keypad,num-rows"]
+  linux,keymap: ["keypad,num-rows"]
+  interrupts: ["linux,keymap"]
+
 required:
   - compatible
   - reg
-  - interrupts
-  - keypad,num-rows
-  - keypad,num-columns
-  - linux,keymap
 
 unevaluatedProperties: false
 
@@ -108,4 +113,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;
+            };
+        };
+
 ...