lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ