2022-02-23 11:46:42

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 1/2] dt-bindings: writing-schema: Install from PyPI repository

From: Krzysztof Kozlowski <[email protected]>

Installing dtschema from github.com/devicetree-org is not needed anymore
because dtschema is now part of regular PyPI repository. In certain
cases it might cause some troubles as it brings latest master version,
not the stable release:

$ pip3 show dtschema
Version: 2020.8.2.dev4+g341f3e3
$ make dt_binding_check
dtschema minimum version is v2020.8.1

Reported-by: Marek Szyprowski <[email protected]>
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
Documentation/devicetree/bindings/writing-schema.rst | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/writing-schema.rst b/Documentation/devicetree/bindings/writing-schema.rst
index ea21c72aeb37..4004dd9209a6 100644
--- a/Documentation/devicetree/bindings/writing-schema.rst
+++ b/Documentation/devicetree/bindings/writing-schema.rst
@@ -118,7 +118,7 @@ The DT schema project must be installed in order to validate the DT schema
binding documents and validate DTS files using the DT schema. The DT schema
project can be installed with pip::

- pip3 install git+https://github.com/devicetree-org/dt-schema.git@master
+ pip3 install dtschema

Several executables (dt-doc-validate, dt-mk-schema, dt-validate) will be
installed. Ensure they are in your PATH (~/.local/bin by default).
--
2.32.0


2022-02-23 18:13:32

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 2/2] dt-bindings: example: Extend with typical case (int-array and disallowed prop)

Extend the example with:
- an array where each element has constraints (min/max value),
- property not allowed in case of different compatible.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../devicetree/bindings/example-schema.yaml | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/example-schema.yaml b/Documentation/devicetree/bindings/example-schema.yaml
index c078796ae1b5..80a28781845d 100644
--- a/Documentation/devicetree/bindings/example-schema.yaml
+++ b/Documentation/devicetree/bindings/example-schema.yaml
@@ -162,6 +162,16 @@ properties:
don't need a type.
enum: [ 100, 200, 300 ]

+ vendor,int-array-variable-length-and-constrained-values:
+ description: Array might define what type of elements might be used (e.g.
+ their range).
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ minItems: 2
+ maxItems: 3
+ items:
+ minimum: 0
+ maximum: 8
+
child-node:
description: Child nodes are just another property from a json-schema
perspective.
@@ -207,6 +217,10 @@ allOf:
then:
required:
- foo-supply
+ else:
+ # If otherwise the property is not allowed:
+ properties:
+ foo-supply: false
# Altering schema depending on presence of properties is usually done by
# dependencies (see above), however some adjustments might require if:
- if:
--
2.32.0

2022-02-24 16:42:59

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/2] dt-bindings: writing-schema: Install from PyPI repository

On Wed, 23 Feb 2022 08:35:46 +0100, Krzysztof Kozlowski wrote:
> From: Krzysztof Kozlowski <[email protected]>
>
> Installing dtschema from github.com/devicetree-org is not needed anymore
> because dtschema is now part of regular PyPI repository. In certain
> cases it might cause some troubles as it brings latest master version,
> not the stable release:
>
> $ pip3 show dtschema
> Version: 2020.8.2.dev4+g341f3e3
> $ make dt_binding_check
> dtschema minimum version is v2020.8.1
>
> Reported-by: Marek Szyprowski <[email protected]>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> Documentation/devicetree/bindings/writing-schema.rst | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Applied, thanks!

2022-02-24 16:43:03

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 2/2] dt-bindings: example: Extend with typical case (int-array and disallowed prop)

On Wed, 23 Feb 2022 08:35:47 +0100, Krzysztof Kozlowski wrote:
> Extend the example with:
> - an array where each element has constraints (min/max value),
> - property not allowed in case of different compatible.
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../devicetree/bindings/example-schema.yaml | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>

Applied, thanks!