public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Timothy Pearson <tpearson@raptorengineering.com>
To: Krzysztof Kozlowski <krzk@kernel.org>
Cc: devicetree <devicetree@vger.kernel.org>,
	 linux-kernel <linux-kernel@vger.kernel.org>,
	 Rob Herring <robh+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	 Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	 Lee Jones <lee@kernel.org>,
	 Georgy Yakovlev <Georgy.Yakovlev@sony.com>,
	 Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: Re: [PATCH v6 1/4] dt-bindings: mfd: Add sony,cronos-smc
Date: Wed, 7 Jan 2026 11:41:05 -0600 (CST)	[thread overview]
Message-ID: <2068648185.192779.1767807665985.JavaMail.zimbra@raptorengineeringinc.com> (raw)
In-Reply-To: <24a1839d-5c5d-4e59-bc42-403dbc8134a4@kernel.org>



----- Original Message -----
> From: "Krzysztof Kozlowski" <krzk@kernel.org>
> To: "Timothy Pearson" <tpearson@raptorengineering.com>
> Cc: "devicetree" <devicetree@vger.kernel.org>, "linux-kernel" <linux-kernel@vger.kernel.org>, "Rob Herring"
> <robh+dt@kernel.org>, "Conor Dooley" <conor+dt@kernel.org>, "Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
> "Lee Jones" <lee@kernel.org>, "Georgy Yakovlev" <Georgy.Yakovlev@sony.com>, "Shawn Anastasio"
> <sanastasio@raptorengineering.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@kernel.org>
>>> To: "Timothy Pearson" <tpearson@raptorengineering.com>
>>> Cc: "devicetree" <devicetree@vger.kernel.org>, "linux-kernel"
>>> <linux-kernel@vger.kernel.org>, "Rob Herring"
>>> <robh+dt@kernel.org>, "Conor Dooley" <conor+dt@kernel.org>, "Krzysztof
>>> Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
>>> "Lee Jones" <lee@kernel.org>, "Georgy Yakovlev" <Georgy.Yakovlev@sony.com>,
>>> "Shawn Anastasio"
>>> <sanastasio@raptorengineering.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@raptorengineering.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@raptorengineering.com>
>>>> Signed-off-by: Timothy Pearson <tpearson@raptorengineering.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

  reply	other threads:[~2026-01-07 17:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-07  0:21 [PATCH v6 0/4] Add drivers for Sony Cronos control CPLD Timothy Pearson
2026-01-07  0:21 ` [PATCH v6 1/4] dt-bindings: mfd: Add sony,cronos-smc Timothy Pearson
2026-01-07  1:21   ` Rob Herring (Arm)
2026-01-07  7:25   ` Krzysztof Kozlowski
2026-01-07 17:09     ` Timothy Pearson
2026-01-07 17:18       ` Krzysztof Kozlowski
2026-01-07 17:41         ` Timothy Pearson [this message]
2026-01-07 20:22           ` Krzysztof Kozlowski
2026-01-07 21:05             ` Timothy Pearson
2026-01-08  0:23               ` Rob Herring
2026-01-08  0:20           ` Rob Herring
2026-01-19 15:41             ` Timothy Pearson
2026-01-20  1:12               ` Rob Herring
2026-01-07  0:21 ` [PATCH v6 2/4] mfd: sony-cronos-smc: Add driver for Sony Cronos SMC Timothy Pearson
2026-01-07  7:27   ` Krzysztof Kozlowski
2026-01-07  0:21 ` [PATCH v6 3/4] led: sony-cronos-smc: Add RGB LED " Timothy Pearson
2026-01-07  0:21 ` [PATCH v6 4/4] watchdog: sony-cronos-smc: Add watchdog " Timothy Pearson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2068648185.192779.1767807665985.JavaMail.zimbra@raptorengineeringinc.com \
    --to=tpearson@raptorengineering.com \
    --cc=Georgy.Yakovlev@sony.com \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=krzk@kernel.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=sanastasio@raptorengineering.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox