[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2068648185.192779.1767807665985.JavaMail.zimbra@raptorengineeringinc.com>
Date: Wed, 7 Jan 2026 11:41:05 -0600 (CST)
From: Timothy Pearson <tpearson@...torengineering.com>
To: Krzysztof Kozlowski <krzk@...nel.org>
Cc: devicetree <devicetree@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Rob Herring <robh+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Lee Jones <lee@...nel.org>,
Georgy Yakovlev <Georgy.Yakovlev@...y.com>,
Shawn Anastasio <sanastasio@...torengineering.com>
Subject: Re: [PATCH v6 1/4] dt-bindings: mfd: Add sony,cronos-smc
----- Original Message -----
> From: "Krzysztof Kozlowski" <krzk@...nel.org>
> To: "Timothy Pearson" <tpearson@...torengineering.com>
> Cc: "devicetree" <devicetree@...r.kernel.org>, "linux-kernel" <linux-kernel@...r.kernel.org>, "Rob Herring"
> <robh+dt@...nel.org>, "Conor Dooley" <conor+dt@...nel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@...aro.org>,
> "Lee Jones" <lee@...nel.org>, "Georgy Yakovlev" <Georgy.Yakovlev@...y.com>, "Shawn Anastasio"
> <sanastasio@...torengineering.com>
> Sent: Wednesday, January 7, 2026 11:18:09 AM
> Subject: Re: [PATCH v6 1/4] dt-bindings: mfd: Add sony,cronos-smc
> On 07/01/2026 18:09, Timothy Pearson wrote:
>>
>>
>> ----- Original Message -----
>>> From: "Krzysztof Kozlowski" <krzk@...nel.org>
>>> To: "Timothy Pearson" <tpearson@...torengineering.com>
>>> Cc: "devicetree" <devicetree@...r.kernel.org>, "linux-kernel"
>>> <linux-kernel@...r.kernel.org>, "Rob Herring"
>>> <robh+dt@...nel.org>, "Conor Dooley" <conor+dt@...nel.org>, "Krzysztof
>>> Kozlowski" <krzysztof.kozlowski+dt@...aro.org>,
>>> "Lee Jones" <lee@...nel.org>, "Georgy Yakovlev" <Georgy.Yakovlev@...y.com>,
>>> "Shawn Anastasio"
>>> <sanastasio@...torengineering.com>
>>> Sent: Wednesday, January 7, 2026 1:25:10 AM
>>> Subject: Re: [PATCH v6 1/4] dt-bindings: mfd: Add sony,cronos-smc
>>
>>> On Tue, Jan 06, 2026 at 06:21:33PM -0600, Timothy Pearson wrote:
>>>> From: Shawn Anastasio <sanastasio@...torengineering.com>
>>>>
>>>> The Sony Cronos Platform Controller is a multi-purpose platform controller
>>>> that provides both a watchdog timer and an LED controller for the Sony
>>>> Interactive Entertainment Cronos x86 server platform. As both functions
>>>> are provided by the same CPLD, a multi-function device is exposed as the
>>>> parent of both functions.
>>>>
>>>> Add a DT binding for this device.
>>>>
>>>> Signed-off-by: Shawn Anastasio <sanastasio@...torengineering.com>
>>>> Signed-off-by: Timothy Pearson <tpearson@...torengineering.com>
>>>> ---
>>>> .../bindings/mfd/sony,cronos-smc.yaml | 128 ++++++++++++++++++
>>>
>>> How this can be a v6 with no changelog at all and still not tested?
>>>
>>> What happened with this patchset? Where is it explained?
>>
>> Changes have only been to fix issues identified in review and any posted
>> autotest failures.
>
> And where is this explained? Please always provide detailed changelog in
> the cover letter or individual patch.
>
>>
>> Please note that the tooling to check the DT bindings does NOT appear work
>> properly, we've wasted a lot of time and effort attempting to get it running
>> only to find that it's spitting out internal Python errors even for other
>> drivers that are *already* in the kernel source tree. This obviously creates a
>> situation where it's difficult to pre-check the patch set for compliance; if
>> you want to see this first hand, spin up a Debian Sid VM (which has a very
>> recent version of the DT tooling from late 2025) and try to check any of the
>> in-tree MFD drivers using the documented methods.
>
> I am using DT schema on multiple distros, including Debian but not Sid
> but Trixie
> (https://krzk.eu/#/builders/91/builds/116/steps/13/logs/stdio). Works
> without problem...
Good to know. There is next to no documentation on the required software versions to make this work, which complicates
> On regular Debian based distro this is just few commands - pix install
> and them make dt_binding_check - so I am surprised you spent a lot of
> time on setting this up.
>
> What is the problem exactly?
Good to know. There is next to no documentation on the required software
versions to make this work, which complicates setup. Bookworm's DT package was
too old when it was tried pre-Trixie release, and at the time Sid didn't work
either for some other reason. The assumption was that the kernel needed a very
recent version of the DT tooling, so Sid was tried again this year. Will try
Trixie before the next patch update.
Here is example output against an in-tree driver, using an up to date Sid system
(word wrap not applied so as to make the errors easier to read):
dt_binding_check DT_SCHEMA_FILES=Documentation/devicetree/bindings/mfd/silergy,sy7636a.yaml
CHKDT ./Documentation/devicetree/bindings
Traceback (most recent call last):
File "/usr/bin/dt-doc-validate", line 8, in <module>
sys.exit(main())
~~~~^^
File "/usr/lib/python3/dist-packages/dtschema/doc_validate.py", line 66, in main
ret |= check_doc(f)
~~~~~~~~~^^^
File "/usr/lib/python3/dist-packages/dtschema/doc_validate.py", line 29, in check_doc
for error in sorted(dtsch.iter_errors(), key=lambda e: e.linecol):
~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dtschema/schema.py", line 167, in iter_errors
self.validator = self.DtValidator(registry.contents(meta_schema_id), registry=registry)
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/referencing/_core.py", line 488, in contents
return self[uri].contents
~~~~^^^^^
File "/usr/lib/python3/dist-packages/referencing/_core.py", line 338, in __getitem__
raise exceptions.NoSuchResource(ref=uri) from None
referencing.exceptions.NoSuchResource: 'http://devicetree.org/meta-schemas/core.yaml'
LINT ./Documentation/devicetree/bindings
DTC [C] Documentation/devicetree/bindings/mfd/silergy,sy7636a.example.dtb
/home/test/linux/Documentation/devicetree/bindings/mfd/silergy,sy7636a.example.dtb: pmic@62 (silergy,sy7636a): #thermal-sensor-cells: 0 was expected
from schema $id: http://devicetree.org/schemas/mfd/silergy,sy7636a.yaml
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/referencing/_core.py", line 428, in get_or_retrieve
resource = registry._retrieve(uri)
File "/usr/lib/python3/dist-packages/dtschema/validator.py", line 426, in retrieve
return DRAFT201909.create_resource(self.schemas[uri])
~~~~~~~~~~~~^^^^^
KeyError: 'http://devicetree.org/schemas/types.yaml'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/referencing/_core.py", line 682, in lookup
retrieved = self._registry.get_or_retrieve(uri)
File "/usr/lib/python3/dist-packages/referencing/_core.py", line 435, in get_or_retrieve
raise exceptions.Unretrievable(ref=uri) from error
referencing.exceptions.Unretrievable: 'http://devicetree.org/schemas/types.yaml'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/jsonschema/validators.py", line 463, in _validate_reference
resolved = self._resolver.lookup(ref)
File "/usr/lib/python3/dist-packages/referencing/_core.py", line 686, in lookup
raise exceptions.Unresolvable(ref=ref) from error
referencing.exceptions.Unresolvable: /schemas/types.yaml#/definitions/string
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/bin/dt-validate", line 8, in <module>
sys.exit(main())
~~~~^^
File "/usr/lib/python3/dist-packages/dtschema/dtb_validate.py", line 158, in main
sg.check_dtb(filename)
~~~~~~~~~~~~^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dtschema/dtb_validate.py", line 95, in check_dtb
self.check_subtree(dt, subtree, False, "/", "/", filename)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dtschema/dtb_validate.py", line 88, in check_subtree
self.check_subtree(tree, value, disabled, name, fullname + name, filename)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dtschema/dtb_validate.py", line 88, in check_subtree
self.check_subtree(tree, value, disabled, name, fullname + name, filename)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dtschema/dtb_validate.py", line 88, in check_subtree
self.check_subtree(tree, value, disabled, name, fullname + name, filename)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dtschema/dtb_validate.py", line 83, in check_subtree
self.check_node(tree, subtree, disabled, nodename, fullname, filename)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dtschema/dtb_validate.py", line 34, in check_node
for error in self.validator.iter_errors(node, filter=match_schema_file,
~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
compatible_match=compatible_match):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/dtschema/validator.py", line 448, in iter_errors
for error in self.DtValidator(schema, registry=self.registry).iter_errors(instance):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jsonschema/validators.py", line 384, in iter_errors
for error in errors:
^^^^^^
File "/usr/lib/python3/dist-packages/jsonschema/_keywords.py", line 296, in properties
yield from validator.descend(
...<4 lines>...
)
File "/usr/lib/python3/dist-packages/jsonschema/validators.py", line 432, in descend
for error in errors:
^^^^^^
File "/usr/lib/python3/dist-packages/jsonschema/_keywords.py", line 296, in properties
yield from validator.descend(
...<4 lines>...
)
File "/usr/lib/python3/dist-packages/jsonschema/validators.py", line 432, in descend
for error in errors:
^^^^^^
File "/usr/lib/python3/dist-packages/jsonschema/_keywords.py", line 275, in ref
yield from validator._validate_reference(ref=ref, instance=instance)
File "/usr/lib/python3/dist-packages/jsonschema/validators.py", line 432, in descend
for error in errors:
^^^^^^
File "/usr/lib/python3/dist-packages/jsonschema/_keywords.py", line 296, in properties
yield from validator.descend(
...<4 lines>...
)
File "/usr/lib/python3/dist-packages/jsonschema/validators.py", line 432, in descend
for error in errors:
^^^^^^
File "/usr/lib/python3/dist-packages/jsonschema/_keywords.py", line 275, in ref
yield from validator._validate_reference(ref=ref, instance=instance)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jsonschema/validators.py", line 465, in _validate_reference
raise exceptions._WrappedReferencingError(err) from err
jsonschema.exceptions._WrappedReferencingError: Unresolvable: /schemas/types.yaml#/definitions/string
Powered by blists - more mailing lists