Re: [PATCH 01/11] dt-bindings: mfd: ti,bq25703a: Expand to include BQ25792
From: Rob Herring (Arm)
Date: Tue Mar 03 2026 - 11:32:33 EST
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@xxxxxxxxxxx>
> ---
> .../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-mic
rovolt': {'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-mic
rovolt': {'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-mic
rovolt': {'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-mic
rovolt': {'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-mic
rovolt': {'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-mic
rovolt': {'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-mic
rovolt': {'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-mic
rovolt': {'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@xxxxxxxxxxx
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.