* Re: [PATCH] dt-bindings: thermal: convert Mediatek Thermal to the json-schema
2023-11-16 12:02 [PATCH] dt-bindings: thermal: convert Mediatek Thermal to the json-schema Rafał Miłecki
@ 2023-11-16 13:27 ` Rob Herring
2023-11-16 14:38 ` Krzysztof Kozlowski
1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring @ 2023-11-16 13:27 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Rafał Miłecki, Daniel Lezcano, Conor Dooley, linux-pm,
devicetree, Lukasz Luba, Zhang Rui, Rafael J . Wysocki,
linux-kernel, Matthias Brugger, AngeloGioacchino Del Regno,
linux-arm-kernel, Rob Herring, linux-mediatek,
Krzysztof Kozlowski
On Thu, 16 Nov 2023 13:02:25 +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
>
> This helps validating DTS files.
>
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
> .../bindings/thermal/mediatek-thermal.txt | 52 ----------
> .../bindings/thermal/mediatek-thermal.yaml | 98 +++++++++++++++++++
> 2 files changed, 98 insertions(+), 52 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/thermal/mediatek-thermal.txt
> create mode 100644 Documentation/devicetree/bindings/thermal/mediatek-thermal.yaml
>
My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check'
on your patch (DT_CHECKER_FLAGS is new in v5.13):
yamllint warnings/errors:
dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/thermal/mediatek-thermal.yaml: properties:resets: 'Reference to the reset controller controlling the thermal controller.' is not of type 'object', 'boolean'
from schema $id: http://json-schema.org/draft-07/schema#
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/thermal/mediatek-thermal.yaml: properties:resets: 'Reference to the reset controller controlling the thermal controller.' 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/thermal/mediatek-thermal.yaml: 'maintainers' is a required property
hint: Metaschema for devicetree binding documentation
from schema $id: http://devicetree.org/meta-schemas/base.yaml#
Traceback (most recent call last):
File "/usr/local/bin/dt-validate", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 144, in main
sg.check_dtb(filename)
File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 89, in check_dtb
self.check_subtree(dt, subtree, False, "/", "/", filename)
File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 82, in check_subtree
self.check_subtree(tree, value, disabled, name, fullname + name, filename)
File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 82, in check_subtree
self.check_subtree(tree, value, disabled, name, fullname + name, filename)
File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 77, in check_subtree
self.check_node(tree, subtree, disabled, nodename, fullname, filename)
File "/usr/local/lib/python3.11/dist-packages/dtschema/dtb_validate.py", line 33, in check_node
for error in self.validator.iter_errors(node, filter=match_schema_file):
File "/usr/local/lib/python3.11/dist-packages/dtschema/validator.py", line 393, in iter_errors
for error in self.DtValidator(sch,
File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 288, in iter_errors
for error in errors:
File "/usr/local/lib/python3.11/dist-packages/jsonschema/_validators.py", line 414, in if_
yield from validator.descend(instance, then, schema_path="then")
File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 305, in descend
for error in self.evolve(schema=schema).iter_errors(instance):
File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 288, in iter_errors
for error in errors:
File "/usr/local/lib/python3.11/dist-packages/jsonschema/_validators.py", line 332, in properties
yield from validator.descend(
File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 305, in descend
for error in self.evolve(schema=schema).iter_errors(instance):
File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 278, in iter_errors
scope = id_of(_schema)
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/jsonschema/validators.py", line 101, in _id_of
return schema.get("$id", "")
^^^^^^^^^^
AttributeError: 'str' object has no attribute 'get'
doc reference errors (make refcheckdocs):
See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20231116120225.29999-1-zajec5@gmail.com
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.
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] dt-bindings: thermal: convert Mediatek Thermal to the json-schema
2023-11-16 12:02 [PATCH] dt-bindings: thermal: convert Mediatek Thermal to the json-schema Rafał Miłecki
2023-11-16 13:27 ` Rob Herring
@ 2023-11-16 14:38 ` Krzysztof Kozlowski
1 sibling, 0 replies; 3+ messages in thread
From: Krzysztof Kozlowski @ 2023-11-16 14:38 UTC (permalink / raw)
To: Rafał Miłecki, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Matthias Brugger, AngeloGioacchino Del Regno
Cc: Rafael J . Wysocki, Daniel Lezcano, Zhang Rui, Lukasz Luba,
linux-pm, devicetree, linux-kernel, linux-arm-kernel,
linux-mediatek, Rafał Miłecki
On 16/11/2023 13:02, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
>
> This helps validating DTS files.
>
...
mal.yaml b/Documentation/devicetree/bindings/thermal/mediatek-thermal.yaml
> new file mode 100644
> index 000000000000..0e036b22b82b
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/thermal/mediatek-thermal.yaml
mediatek,thermal.yaml
> @@ -0,0 +1,98 @@
> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/thermal/mediatek-thermal.yaml#
mediatek,thermal.yaml
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Mediatek Thermal
SoC? PMIC?
> +
> +description: >
Drop >
> + This describes the device tree binding for the Mediatek thermal controller
Drop redundant part. Describe hardware, not the binding. There is no
point to say that a binding describes a binding.
> + which measures the on-SoC temperatures. This device does not have its own ADC,
> + instead it directly controls the AUXADC via AHB bus accesses. For this reason
> + this device needs phandles to the AUXADC. Also it controls a mux in the
> + apmixedsys register space via AHB bus accesses, so a phandle to the APMIXEDSYS
> + is also needed.
> +
> +allOf:
...
> + mediatek,auxadc:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: A phandle to the AUXADC which the thermal controller uses
> +
> + mediatek,apmixedsys:
> + $ref: /schemas/types.yaml#/definitions/phandle
> + description: A phandle to the APMIXEDSYS controller
> +
> + resets: Reference to the reset controller controlling the thermal controller.
> +
Not tested. You miss constraints. Drop totally redundant description.
> +
> +unevaluatedProperties: false
> +
> +required:
> + - reg
> + - interrupts
> + - clocks
> + - clock-names
> + - mediatek,auxadc
> + - mediatek,apmixedsys
unevaluatedProperties go here.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 3+ messages in thread