diff mbox series

[2/3] dt-bindings: mfd: twl: add charger node also for TWL603x

Message ID 20240918084132.928295-3-andreas@kemnade.info (mailing list archive)
State New
Headers show
Series power: supply: twl6030/32 charger | expand

Commit Message

Andreas Kemnade Sept. 18, 2024, 8:41 a.m. UTC
Also the TWL603X devices have a charger, so allow to specify it here.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
---
 .../devicetree/bindings/mfd/ti,twl.yaml        | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

Comments

Krzysztof Kozlowski Sept. 18, 2024, 10:47 a.m. UTC | #1
On 18/09/2024 10:41, Andreas Kemnade wrote:
> Also the TWL603X devices have a charger, so allow to specify it here.
> 
> Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> ---
>  .../devicetree/bindings/mfd/ti,twl.yaml        | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> index e94b0fd7af0f8..4064a228cb0fc 100644
> --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> @@ -105,6 +105,11 @@ allOf:
>              regulator-initial-mode: false
>  
>        properties:
> +        bci:

charger

> +          type: object

additionalProperties: true

Each node must end with additionalProperties or unevaluated. I think you
never tested it, because dtschema reports this.

> +          properties:
> +            compatible:
> +              const: ti,twl6030-charger
>          gpadc:
>            type: object
>            properties:
> @@ -136,6 +141,13 @@ allOf:
>              regulator-initial-mode: false
>  
>        properties:
> +        bci:
> +          type: object
> +          properties:
> +            compatible:
> +              items:
> +                - const: ti,twl6032-charger
> +                - const: ti,twl6030-charger
>          gpadc:
>            type: object
>            properties:
> @@ -222,6 +234,12 @@ examples:
>          interrupt-controller;
>          #interrupt-cells = <1>;
>  
> +        bci {
> +          compatible = "ti,twl6030-charger";
> +          interrupts = <2>, <5>;
> +          monitored-battery = <&bat>;

One complete example in parent node, so you can drop example from patch #1.

> +        };
> +
>          gpadc {
>            compatible = "ti,twl6030-gpadc";
>            interrupts = <6>;

Best regards,
Krzysztof
Andreas Kemnade Sept. 18, 2024, 11:35 a.m. UTC | #2
Am Wed, 18 Sep 2024 12:47:22 +0200
schrieb Krzysztof Kozlowski <krzk@kernel.org>:

> On 18/09/2024 10:41, Andreas Kemnade wrote:
> > Also the TWL603X devices have a charger, so allow to specify it
> > here.
> > 
> > Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> > ---
> >  .../devicetree/bindings/mfd/ti,twl.yaml        | 18
> > ++++++++++++++++++ 1 file changed, 18 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > b/Documentation/devicetree/bindings/mfd/ti,twl.yaml index
> > e94b0fd7af0f8..4064a228cb0fc 100644 ---
> > a/Documentation/devicetree/bindings/mfd/ti,twl.yaml +++
> > b/Documentation/devicetree/bindings/mfd/ti,twl.yaml @@ -105,6
> > +105,11 @@ allOf: regulator-initial-mode: false
> >  
> >        properties:
> > +        bci:  
> 
> charger
> 
> > +          type: object  
> 
> additionalProperties: true
> 
> Each node must end with additionalProperties or unevaluated. I think
> you never tested it, because dtschema reports this.
> 
I did run it, no complaints:

andi@aktux:~/kernel$ touch Documentation/devicetree/bindings/mfd/ti,twl.yaml 
andi@aktux:~/kernel$ touch Documentation/devicetree/bindings/power/supply/ti,twl6030-charger.yaml 
andi@aktux:~/kernel$ make ARCH=arm dt_binding_check DT_SCHEMA_FILES=twl
  SCHEMA  Documentation/devicetree/bindings/processed-schema.json
/home/andi/kernel/Documentation/devicetree/bindings/net/snps,dwmac.yaml: mac-mode: missing type definition
  CHKDT   Documentation/devicetree/bindings
  LINT    Documentation/devicetree/bindings
  DTC [C] Documentation/devicetree/bindings/power/supply/twl4030-charger.example.dtb
  DTEX    Documentation/devicetree/bindings/power/supply/ti,twl6030-charger.example.dts
  DTC [C] Documentation/devicetree/bindings/power/supply/ti,twl6030-charger.example.dtb
  DTC [C] Documentation/devicetree/bindings/iio/adc/ti,twl6030-gpadc.example.dtb
  DTC [C] Documentation/devicetree/bindings/iio/adc/ti,twl4030-madc.example.dtb
  DTEX    Documentation/devicetree/bindings/mfd/ti,twl.example.dts
  DTC [C] Documentation/devicetree/bindings/mfd/ti,twl.example.dtb
andi@aktux:~/kernel$

Regards,
Andreas
Rob Herring (Arm) Sept. 21, 2024, 12:51 a.m. UTC | #3
On Wed, Sep 18, 2024 at 12:47:22PM +0200, Krzysztof Kozlowski wrote:
> On 18/09/2024 10:41, Andreas Kemnade wrote:
> > Also the TWL603X devices have a charger, so allow to specify it here.
> > 
> > Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> > ---
> >  .../devicetree/bindings/mfd/ti,twl.yaml        | 18 ++++++++++++++++++
> >  1 file changed, 18 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > index e94b0fd7af0f8..4064a228cb0fc 100644
> > --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > @@ -105,6 +105,11 @@ allOf:
> >              regulator-initial-mode: false
> >  
> >        properties:
> > +        bci:
> 
> charger
> 
> > +          type: object
> 
> additionalProperties: true
> 
> Each node must end with additionalProperties or unevaluated. I think you
> never tested it, because dtschema reports this.

This is under an if/then schema is why there's no errors.

This schema probably should have been 3 with a ti,twl-common.yaml schema 
for the common properties, but I'm not sure it is worth changing now.

Rob
Andreas Kemnade Sept. 26, 2024, 7:26 a.m. UTC | #4
Am Fri, 20 Sep 2024 19:51:25 -0500
schrieb Rob Herring <robh@kernel.org>:

> On Wed, Sep 18, 2024 at 12:47:22PM +0200, Krzysztof Kozlowski wrote:
> > On 18/09/2024 10:41, Andreas Kemnade wrote:  
> > > Also the TWL603X devices have a charger, so allow to specify it
> > > here.
> > > 
> > > Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> > > ---
> > >  .../devicetree/bindings/mfd/ti,twl.yaml        | 18
> > > ++++++++++++++++++ 1 file changed, 18 insertions(+)
> > > 
> > > diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> > > b/Documentation/devicetree/bindings/mfd/ti,twl.yaml index
> > > e94b0fd7af0f8..4064a228cb0fc 100644 ---
> > > a/Documentation/devicetree/bindings/mfd/ti,twl.yaml +++
> > > b/Documentation/devicetree/bindings/mfd/ti,twl.yaml @@ -105,6
> > > +105,11 @@ allOf: regulator-initial-mode: false
> > >  
> > >        properties:
> > > +        bci:  
> > 
> > charger
> >   
> > > +          type: object  
> > 
> > additionalProperties: true
> > 
Thinking again. Why additionalProperties? unevaluatedProperties
looks more reasonable for me. There are additional properties but
they should be evaluated by another schema.

> > Each node must end with additionalProperties or unevaluated. I
> > think you never tested it, because dtschema reports this.  
> 
> This is under an if/then schema is why there's no errors.
> 
and then it just accepts anything with compatible twl6032-charger e.g.
and does not care about anything in patch 2, because it has a different
compatible.

> This schema probably should have been 3 with a ti,twl-common.yaml
> schema for the common properties, but I'm not sure it is worth
> changing now.
> 
Or a ti,twl4030.yaml and a ti,twl603X.yaml. 6030 and 6032 have more in
common than the 4030.
I would propose that is something for the next more final cleaning
up/conversion round. First I would like to avoid having drained
batteries because of no charging, so allow for more automated testing
and bisecting. 
I think I will prepare a v2 series on monday.

Regards,
Andreas
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
index e94b0fd7af0f8..4064a228cb0fc 100644
--- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
+++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
@@ -105,6 +105,11 @@  allOf:
             regulator-initial-mode: false
 
       properties:
+        bci:
+          type: object
+          properties:
+            compatible:
+              const: ti,twl6030-charger
         gpadc:
           type: object
           properties:
@@ -136,6 +141,13 @@  allOf:
             regulator-initial-mode: false
 
       properties:
+        bci:
+          type: object
+          properties:
+            compatible:
+              items:
+                - const: ti,twl6032-charger
+                - const: ti,twl6030-charger
         gpadc:
           type: object
           properties:
@@ -222,6 +234,12 @@  examples:
         interrupt-controller;
         #interrupt-cells = <1>;
 
+        bci {
+          compatible = "ti,twl6030-charger";
+          interrupts = <2>, <5>;
+          monitored-battery = <&bat>;
+        };
+
         gpadc {
           compatible = "ti,twl6030-gpadc";
           interrupts = <6>;