Re: [PATCH] dt-bindings: mfd: twl: Convert trivial subdevices to json-schema

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

 



On Mon, Mar 18, 2024 at 01:40:50PM +0100, Andreas Kemnade wrote:
> Convert subdevices with just an interrupt and compatbile to
> json-schema and wire up already converted subdevices.
> RTC is available in all variants, so allow it unconditionally
> GPADC binding for TWL603X uses two different compatibles, so
> specify just the compatible and not include it.
> 
> Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx>
> ---
> Well, my name is in that yaml file, so I should take care of my sheep,
> in case a step-by-step approach is acceptable this is at least a
> checkpoint for me that I understand multi file binding mechanics
> properly.
> 
>  .../bindings/input/twl4030-pwrbutton.txt      | 21 ------
>  .../devicetree/bindings/mfd/ti,twl.yaml       | 68 +++++++++++++++++++
>  .../devicetree/bindings/rtc/twl-rtc.txt       | 11 ---
>  .../bindings/watchdog/twl4030-wdt.txt         | 10 ---
>  4 files changed, 68 insertions(+), 42 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt
>  delete mode 100644 Documentation/devicetree/bindings/rtc/twl-rtc.txt
>  delete mode 100644 Documentation/devicetree/bindings/watchdog/twl4030-wdt.txt
> 
> diff --git a/Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt b/Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt
> deleted file mode 100644
> index 6c201a2ba8acf..0000000000000
> --- a/Documentation/devicetree/bindings/input/twl4030-pwrbutton.txt
> +++ /dev/null
> @@ -1,21 +0,0 @@
> -Texas Instruments TWL family (twl4030) pwrbutton module
> -
> -This module is part of the TWL4030. For more details about the whole
> -chip see Documentation/devicetree/bindings/mfd/ti,twl.yaml.
> -
> -This module provides a simple power button event via an Interrupt.
> -
> -Required properties:
> -- compatible: should be one of the following
> -   - "ti,twl4030-pwrbutton": For controllers compatible with twl4030
> -- interrupts: should be one of the following
> -   - <8>: For controllers compatible with twl4030
> -
> -Example:
> -
> -&twl {
> -	twl_pwrbutton: pwrbutton {
> -		compatible = "ti,twl4030-pwrbutton";
> -		interrupts = <8>;
> -	};
> -};
> diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> index 52ed228fb1e7e..03d725d5294db 100644
> --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> @@ -15,6 +15,65 @@ description: |
>    USB transceiver or Audio amplifier.
>    These chips are connected to an i2c bus.
>  
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: ti,twl4030
> +    then:
> +      properties:
> +        madc:
> +          type: object
> +          $ref: ../iio/adc/ti,twl4030-madc.yaml

Use 'absolute' paths: /schemas/iio/...

> +

Drop blank line

> +          unevaluatedProperties: false

blank line between DT properties

> +        bci:
> +          type: object
> +          $ref: ../power/supply/twl4030-charger.yaml
> +
> +          unevaluatedProperties: false
> +        pwrbutton:
> +          type: object
> +          properties:
> +            compatible:
> +              const: ti,twl4030-pwrbutton
> +            interrupts:
> +              const: 8

As 'interrupts' is a matrix, this needs to be:

interrupts:
  items:
    - items:
        - const: 8

> +
> +          additionalProperties: false

In the indented cases, it is preferred to put this before 'properties'.

> +        watchdog:
> +          type: object
> +          properties:
> +            compatible:
> +              const: ti,twl4030-wdt
> +
> +          additionalProperties: false
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: ti,twl6030
> +    then:
> +      properties:
> +        gpadc:
> +          type: object
> +          properties:
> +            compatible:
> +              const: ti,twl6030-gpadc
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: ti,twl6032
> +    then:
> +      properties:
> +        gpadc:
> +          type: object
> +          properties:
> +            compatible:
> +              const: ti,twl6032-gpadc
> +
>  properties:
>    compatible:
>      description:
> @@ -42,6 +101,15 @@ properties:
>    "#clock-cells":
>      const: 1
>  
> +  rtc:
> +    type: object
> +    properties:
> +      compatible:
> +        const: ti,twl4030-rtc
> +      interrupts:
> +        maxItems: 1
> +    additionalProperties: false
> +
>  additionalProperties: false
>  
>  required:




[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