[PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792

Alexey Charkov posted 11 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
Posted by Alexey Charkov 1 month, 1 week ago
TI BQ25792 is similar in operation to BQ25703A, but has a different
register layout and different current/voltage capabilities.

Expand the existing BQ25703A binding to include BQ25792, and move the
voltage and current limits into per-variant conditional statements.

Signed-off-by: Alexey Charkov <alchark@flipper.net>
---
 .../devicetree/bindings/mfd/ti,bq25703a.yaml       | 79 +++++++++++++++++-----
 1 file changed, 62 insertions(+), 17 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml b/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
index ba14663c9266..99b4fba7c1d4 100644
--- a/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
+++ b/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
@@ -4,7 +4,7 @@
 $id: http://devicetree.org/schemas/mfd/ti,bq25703a.yaml#
 $schema: http://devicetree.org/meta-schemas/core.yaml#
 
-title: BQ25703A Charger Manager/Buck/Boost Converter
+title: BQ257xx Charger Manager/Buck/Boost Converter
 
 maintainers:
   - Chris Morgan <macromorgan@hotmail.com>
@@ -14,7 +14,9 @@ allOf:
 
 properties:
   compatible:
-    const: ti,bq25703a
+    enum:
+      - ti,bq25703a
+      - ti,bq25792
 
   reg:
     const: 0x6b
@@ -23,9 +25,6 @@ properties:
     description:
       Maximum total input current allowed used for both charging and
       powering the device.
-    minimum: 50000
-    maximum: 6400000
-    default: 3250000
 
   interrupts:
     maxItems: 1
@@ -50,18 +49,10 @@ properties:
 
         properties:
           regulator-name: true
-          regulator-min-microamp:
-            minimum: 0
-            maximum: 6350000
-          regulator-max-microamp:
-            minimum: 0
-            maximum: 6350000
-          regulator-min-microvolt:
-            minimum: 4480000
-            maximum: 20800000
-          regulator-max-microvolt:
-            minimum: 4480000
-            maximum: 20800000
+          regulator-min-microamp: true
+          regulator-max-microamp: true
+          regulator-min-microvolt: true
+          regulator-max-microvolt: true
           enable-gpios:
             description:
               The BQ25703 may require both a register write and a GPIO
@@ -74,6 +65,60 @@ properties:
           - regulator-min-microvolt
           - regulator-max-microvolt
 
+  allOf:
+    - if:
+        properties:
+          compatible:
+            const: ti,bq25703a
+      then:
+        properties:
+          input-current-limit-microamp:
+            minimum: 500000
+            maximum: 6350000
+            default: 5000000
+          regulators:
+            properties:
+              vbus:
+                properties:
+                  regulator-min-microamp:
+                    minimum: 0
+                    maximum: 6350000
+                  regulator-max-microamp:
+                    minimum: 0
+                    maximum: 6350000
+                  regulator-min-microvolt:
+                    minimum: 4480000
+                    maximum: 20800000
+                  regulator-max-microvolt:
+                    minimum: 4480000
+                    maximum: 20800000
+    - if:
+        properties:
+          compatible:
+            const: ti,bq25792
+      then:
+        properties:
+          input-current-limit-microamp:
+            minimum: 1000000
+            maximum: 3300000
+            default: 3000000
+          regulators:
+            properties:
+              vbus:
+                properties:
+                  regulator-min-microamp:
+                    minimum: 0
+                    maximum: 3320000
+                  regulator-max-microamp:
+                    minimum: 0
+                    maximum: 3320000
+                  regulator-min-microvolt:
+                    minimum: 2800000
+                    maximum: 22000000
+                  regulator-max-microvolt:
+                    minimum: 2800000
+                    maximum: 22000000
+
 unevaluatedProperties: false
 
 required:

-- 
2.52.0
Re: [PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
Posted by Krzysztof Kozlowski 1 month ago
On Tue, Mar 03, 2026 at 07:32:46PM +0400, Alexey Charkov wrote:
>            enable-gpios:
>              description:
>                The BQ25703 may require both a register write and a GPIO
> @@ -74,6 +65,60 @@ properties:
>            - regulator-min-microvolt
>            - regulator-max-microvolt
>  
> +  allOf:

Heh, why bothering to test your code before sending...

Best regards,
Krzysztof
Re: [PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
Posted by Alexey Charkov 1 month ago
On Wed, Mar 4, 2026 at 12:33 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Tue, Mar 03, 2026 at 07:32:46PM +0400, Alexey Charkov wrote:
> >            enable-gpios:
> >              description:
> >                The BQ25703 may require both a register write and a GPIO
> > @@ -74,6 +65,60 @@ properties:
> >            - regulator-min-microvolt
> >            - regulator-max-microvolt
> >
> > +  allOf:
>
> Heh, why bothering to test your code before sending...

Yep, my bad, sorry for the noise. Testing schema separately from a
common W=1 build, runtime test on the hardware and checkpatch just
refuses to enter muscle memory, but I'll get there one day.

Best regards,
Alexey
Re: [PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
Posted by Krzysztof Kozlowski 1 month ago
On Tue, Mar 03, 2026 at 07:32:46PM +0400, Alexey Charkov wrote:
> TI BQ25792 is similar in operation to BQ25703A, but has a different
> register layout and different current/voltage capabilities.
> 
> Expand the existing BQ25703A binding to include BQ25792, and move the
> voltage and current limits into per-variant conditional statements.
> 
> Signed-off-by: Alexey Charkov <alchark@flipper.net>
> ---
>  .../devicetree/bindings/mfd/ti,bq25703a.yaml       | 79 +++++++++++++++++-----
>  1 file changed, 62 insertions(+), 17 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml b/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
> index ba14663c9266..99b4fba7c1d4 100644
> --- a/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
> +++ b/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
> @@ -4,7 +4,7 @@
>  $id: http://devicetree.org/schemas/mfd/ti,bq25703a.yaml#
>  $schema: http://devicetree.org/meta-schemas/core.yaml#
>  
> -title: BQ25703A Charger Manager/Buck/Boost Converter
> +title: BQ257xx Charger Manager/Buck/Boost Converter
>  
>  maintainers:
>    - Chris Morgan <macromorgan@hotmail.com>
> @@ -14,7 +14,9 @@ allOf:
>  
>  properties:
>    compatible:
> -    const: ti,bq25703a
> +    enum:
> +      - ti,bq25703a
> +      - ti,bq25792
>  
>    reg:
>      const: 0x6b
> @@ -23,9 +25,6 @@ properties:
>      description:
>        Maximum total input current allowed used for both charging and
>        powering the device.
> -    minimum: 50000
> -    maximum: 6400000
> -    default: 3250000

Broadest constraints allways stay. See writing bindings and writing schema.

>  
>    interrupts:
>      maxItems: 1
> @@ -50,18 +49,10 @@ properties:
>  
>          properties:
>            regulator-name: true
> -          regulator-min-microamp:
> -            minimum: 0
> -            maximum: 6350000
> -          regulator-max-microamp:
> -            minimum: 0
> -            maximum: 6350000
> -          regulator-min-microvolt:
> -            minimum: 4480000
> -            maximum: 20800000
> -          regulator-max-microvolt:
> -            minimum: 4480000
> -            maximum: 20800000

Best regards,
Krzysztof
Re: [PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
Posted by Alexey Charkov 1 month ago
On Wed, Mar 4, 2026 at 12:32 PM Krzysztof Kozlowski <krzk@kernel.org> wrote:
>
> On Tue, Mar 03, 2026 at 07:32:46PM +0400, Alexey Charkov wrote:
> > TI BQ25792 is similar in operation to BQ25703A, but has a different
> > register layout and different current/voltage capabilities.
> >
> > Expand the existing BQ25703A binding to include BQ25792, and move the
> > voltage and current limits into per-variant conditional statements.
> >
> > Signed-off-by: Alexey Charkov <alchark@flipper.net>
> > ---
> >  .../devicetree/bindings/mfd/ti,bq25703a.yaml       | 79 +++++++++++++++++-----
> >  1 file changed, 62 insertions(+), 17 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml b/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
> > index ba14663c9266..99b4fba7c1d4 100644
> > --- a/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml
> > @@ -4,7 +4,7 @@
> >  $id: http://devicetree.org/schemas/mfd/ti,bq25703a.yaml#
> >  $schema: http://devicetree.org/meta-schemas/core.yaml#
> >
> > -title: BQ25703A Charger Manager/Buck/Boost Converter
> > +title: BQ257xx Charger Manager/Buck/Boost Converter
> >
> >  maintainers:
> >    - Chris Morgan <macromorgan@hotmail.com>
> > @@ -14,7 +14,9 @@ allOf:
> >
> >  properties:
> >    compatible:
> > -    const: ti,bq25703a
> > +    enum:
> > +      - ti,bq25703a
> > +      - ti,bq25792
> >
> >    reg:
> >      const: 0x6b
> > @@ -23,9 +25,6 @@ properties:
> >      description:
> >        Maximum total input current allowed used for both charging and
> >        powering the device.
> > -    minimum: 50000
> > -    maximum: 6400000
> > -    default: 3250000
>
> Broadest constraints allways stay. See writing bindings and writing schema.

Ack, will make the common part a superset of both variants' allowed
ranges. Thanks for pointing this out.

Best regards,
Alexey
Re: [PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
Posted by Rob Herring (Arm) 1 month, 1 week ago
On Tue, 03 Mar 2026 19:32:46 +0400, Alexey Charkov wrote:
> TI BQ25792 is similar in operation to BQ25703A, but has a different
> register layout and different current/voltage capabilities.
> 
> Expand the existing BQ25703A binding to include BQ25792, and move the
> voltage and current limits into per-variant conditional statements.
> 
> Signed-off-by: Alexey Charkov <alchark@flipper.net>
> ---
>  .../devicetree/bindings/mfd/ti,bq25703a.yaml       | 79 +++++++++++++++++-----
>  1 file changed, 62 insertions(+), 17 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: ignoring, error in schema: properties: allOf
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties: 'allOf' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'}
	hint: A json-schema keyword was found instead of a DT property name.
	from schema $id: http://devicetree.org/meta-schemas/keywords.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties:allOf: [{'if': {'properties': {'compatible': {'const': 'ti,bq25703a'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 500000, 'maximum': 6350000, 'default': 5000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-min-microvolt': {'minimum': 4480000, 'maximum': 20800000}, 'regulator-max-microvolt': {'minimum': 4480000, 'maximum': 20800000}}}}}}}}, {'if': {'properties': {'compatible': {'const': 'ti,bq25792'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 1000000, 'maximum': 3300000, 'default': 3000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-min-microvolt': {'minimum': 2800000, 'maximum': 22000000}, 'regulator-max-microvolt': {'minimum': 2800000, 'maximum': 22000000}}}}}}}}] is not of type 'object', 'boolean'
	from schema $id: http://devicetree.org/meta-schemas/keywords.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties:allOf: [{'if': {'properties': {'compatible': {'const': 'ti,bq25703a'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 500000, 'maximum': 6350000, 'default': 5000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-min-microvolt': {'minimum': 4480000, 'maximum': 20800000}, 'regulator-max-microvolt': {'minimum': 4480000, 'maximum': 20800000}}}}}}}}, {'if': {'properties': {'compatible': {'const': 'ti,bq25792'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 1000000, 'maximum': 3300000, 'default': 3000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-min-microvolt': {'minimum': 2800000, 'maximum': 22000000}, 'regulator-max-microvolt': {'minimum': 2800000, 'maximum': 22000000}}}}}}}}] is not of type 'object', 'boolean'
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties:allOf: [{'if': {'properties': {'compatible': {'const': 'ti,bq25703a'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 500000, 'maximum': 6350000, 'default': 5000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-min-microvolt': {'minimum': 4480000, 'maximum': 20800000}, 'regulator-max-microvolt': {'minimum': 4480000, 'maximum': 20800000}}}}}}}}, {'if': {'properties': {'compatible': {'const': 'ti,bq25792'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 1000000, 'maximum': 3300000, 'default': 3000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-min-microvolt': {'minimum': 2800000, 'maximum': 22000000}, 'regulator-max-microvolt': {'minimum': 2800000, 'maximum': 22000000}}}}}}}}] is not of type 'object', 'boolean'
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties:allOf: [{'if': {'properties': {'compatible': {'const': 'ti,bq25703a'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 500000, 'maximum': 6350000, 'default': 5000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-min-microvolt': {'minimum': 4480000, 'maximum': 20800000}, 'regulator-max-microvolt': {'minimum': 4480000, 'maximum': 20800000}}}}}}}}, {'if': {'properties': {'compatible': {'const': 'ti,bq25792'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 1000000, 'maximum': 3300000, 'default': 3000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-min-microvolt': {'minimum': 2800000, 'maximum': 22000000}, 'regulator-max-microvolt': {'minimum': 2800000, 'maximum': 22000000}}}}}}}}] is not of type 'object', 'boolean'
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties:allOf: [{'if': {'properties': {'compatible': {'const': 'ti,bq25703a'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 500000, 'maximum': 6350000, 'default': 5000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-min-microvolt': {'minimum': 4480000, 'maximum': 20800000}, 'regulator-max-microvolt': {'minimum': 4480000, 'maximum': 20800000}}}}}}}}, {'if': {'properties': {'compatible': {'const': 'ti,bq25792'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 1000000, 'maximum': 3300000, 'default': 3000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-min-microvolt': {'minimum': 2800000, 'maximum': 22000000}, 'regulator-max-microvolt': {'minimum': 2800000, 'maximum': 22000000}}}}}}}}] is not of type 'object', 'boolean'
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties:allOf: [{'if': {'properties': {'compatible': {'const': 'ti,bq25703a'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 500000, 'maximum': 6350000, 'default': 5000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-min-microvolt': {'minimum': 4480000, 'maximum': 20800000}, 'regulator-max-microvolt': {'minimum': 4480000, 'maximum': 20800000}}}}}}}}, {'if': {'properties': {'compatible': {'const': 'ti,bq25792'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 1000000, 'maximum': 3300000, 'default': 3000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-min-microvolt': {'minimum': 2800000, 'maximum': 22000000}, 'regulator-max-microvolt': {'minimum': 2800000, 'maximum': 22000000}}}}}}}}] is not of type 'object', 'boolean'
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties:allOf: [{'if': {'properties': {'compatible': {'const': 'ti,bq25703a'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 500000, 'maximum': 6350000, 'default': 5000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-min-microvolt': {'minimum': 4480000, 'maximum': 20800000}, 'regulator-max-microvolt': {'minimum': 4480000, 'maximum': 20800000}}}}}}}}, {'if': {'properties': {'compatible': {'const': 'ti,bq25792'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 1000000, 'maximum': 3300000, 'default': 3000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-min-microvolt': {'minimum': 2800000, 'maximum': 22000000}, 'regulator-max-microvolt': {'minimum': 2800000, 'maximum': 22000000}}}}}}}}] is not of type 'object', 'boolean'
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties:allOf: [{'if': {'properties': {'compatible': {'const': 'ti,bq25703a'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 500000, 'maximum': 6350000, 'default': 5000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 6350000}, 'regulator-min-microvolt': {'minimum': 4480000, 'maximum': 20800000}, 'regulator-max-microvolt': {'minimum': 4480000, 'maximum': 20800000}}}}}}}}, {'if': {'properties': {'compatible': {'const': 'ti,bq25792'}}}, 'then': {'properties': {'input-current-limit-microamp': {'minimum': 1000000, 'maximum': 3300000, 'default': 3000000}, 'regulators': {'properties': {'vbus': {'properties': {'regulator-min-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-max-microamp': {'minimum': 0, 'maximum': 3320000}, 'regulator-min-microvolt': {'minimum': 2800000, 'maximum': 22000000}, 'regulator-max-microvolt': {'minimum': 2800000, 'maximum': 22000000}}}}}}}}] is not of type 'object', 'boolean'
Traceback (most recent call last):
  File "/usr/local/bin/dt-doc-validate", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/usr/local/lib/python3.13/dist-packages/dtschema/doc_validate.py", line 66, in main
    ret |= check_doc(f)
           ~~~~~~~~~^^^
  File "/usr/local/lib/python3.13/dist-packages/dtschema/doc_validate.py", line 37, in check_doc
    dtsch.check_schema_refs()
    ~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/dist-packages/dtschema/schema.py", line 241, in check_schema_refs
    self._check_schema_refs(resolver, self)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/dist-packages/dtschema/schema.py", line 212, in _check_schema_refs
    self._check_schema_refs(resolver, v, parent=k, is_common=is_common,
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                            has_constraint=has_constraint)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/dist-packages/dtschema/schema.py", line 216, in _check_schema_refs
    self._check_schema_refs(resolver, schema[i], parent=parent, is_common=is_common,
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                            has_constraint=has_constraint)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/dist-packages/dtschema/schema.py", line 203, in _check_schema_refs
    ref_sch = resolver.lookup(schema['$ref']).contents
              ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/dist-packages/referencing/_core.py", line 682, in lookup
    retrieved = self._registry.get_or_retrieve(uri)
  File "/usr/local/lib/python3.13/dist-packages/referencing/_core.py", line 422, in get_or_retrieve
    registry = self.crawl()
  File "/usr/local/lib/python3.13/dist-packages/referencing/_core.py", line 500, in crawl
    id = resource.id()
  File "/usr/local/lib/python3.13/dist-packages/referencing/_core.py", line 231, in id
    id = self._specification.id_of(self.contents)
  File "/usr/local/lib/python3.13/dist-packages/referencing/jsonschema.py", line 50, in _dollar_id
    return contents.get("$id")
           ^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'get'
Documentation/devicetree/bindings/mfd/ti,bq25703a.example.dtb: /example-0/i2c/charger@6b: failed to match any schema with compatible: ['ti,bq25703a']

doc reference errors (make refcheckdocs):

See https://patchwork.kernel.org/project/devicetree/patch/20260303-bq25792-v1-1-e6e5e0033458@flipper.net

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.
Re: [PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
Posted by Alexey Charkov 1 month ago
On Tue, Mar 3, 2026 at 8:26 PM Rob Herring (Arm) <robh@kernel.org> wrote:
>
>
> On Tue, 03 Mar 2026 19:32:46 +0400, Alexey Charkov wrote:
> > TI BQ25792 is similar in operation to BQ25703A, but has a different
> > register layout and different current/voltage capabilities.
> >
> > Expand the existing BQ25703A binding to include BQ25792, and move the
> > voltage and current limits into per-variant conditional statements.
> >
> > Signed-off-by: Alexey Charkov <alchark@flipper.net>
> > ---
> >  .../devicetree/bindings/mfd/ti,bq25703a.yaml       | 79 +++++++++++++++++-----
> >  1 file changed, 62 insertions(+), 17 deletions(-)
> >
>
> My bot found errors running 'make dt_binding_check' on your patch:
>
> yamllint warnings/errors:
>
> dtschema/dtc warnings/errors:
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: ignoring, error in schema: properties: allOf
> /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/mfd/ti,bq25703a.yaml: properties: 'allOf' should not be valid under {'$ref': '#/definitions/json-schema-prop-names'}
>         hint: A json-schema keyword was found instead of a DT property name.

Thanks bot, fixed in v2 along with further comments from Krzysztof.
Will wait for any further feedback and send out.

Best regards,
Alexey