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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 03, 2024 at 11:58:16AM +0100, Utsav Agarwal via B4 Relay wrote:
> From: Utsav Agarwal <utsav.agarwal@xxxxxxxxxx>
> 
> 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@xxxxxxxxxx>
> ---
>  .../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
> 
> 

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux