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

Andreas Kemnade posted 3 patches 2 months, 1 week ago
There is a newer version of this series
[PATCH 2/3] dt-bindings: mfd: twl: add charger node also for TWL603x
Posted by Andreas Kemnade 2 months, 1 week ago
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:
+          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>;
-- 
2.39.2
Re: [PATCH 2/3] dt-bindings: mfd: twl: add charger node also for TWL603x
Posted by Krzysztof Kozlowski 2 months, 1 week ago
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
Re: [PATCH 2/3] dt-bindings: mfd: twl: add charger node also for TWL603x
Posted by Rob Herring 2 months, 1 week ago
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
Re: [PATCH 2/3] dt-bindings: mfd: twl: add charger node also for TWL603x
Posted by Andreas Kemnade 2 months ago
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
Re: [PATCH 2/3] dt-bindings: mfd: twl: add charger node also for TWL603x
Posted by Andreas Kemnade 2 months, 1 week ago
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