* [PATCH] dt-bindings: writing-schema: Explain sub-nodes with additionalProperties:true
@ 2025-03-31 8:13 Krzysztof Kozlowski
2025-04-01 22:55 ` Rob Herring
0 siblings, 1 reply; 2+ messages in thread
From: Krzysztof Kozlowski @ 2025-03-31 8:13 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, devicetree,
linux-kernel
Cc: Krzysztof Kozlowski
Document recently introduced pattern of using additionalProperties: true
for sub-nodes with their own schema.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
.../devicetree/bindings/example-schema.yaml | 15 ++++++++++++++-
.../devicetree/bindings/writing-schema.rst | 11 ++++++++---
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/Documentation/devicetree/bindings/example-schema.yaml b/Documentation/devicetree/bindings/example-schema.yaml
index 484f8babcda4..c731d5045e80 100644
--- a/Documentation/devicetree/bindings/example-schema.yaml
+++ b/Documentation/devicetree/bindings/example-schema.yaml
@@ -178,7 +178,9 @@ properties:
description: Child nodes are just another property from a json-schema
perspective.
type: object # DT nodes are json objects
- # Child nodes also need additionalProperties or unevaluatedProperties
+ # Child nodes also need additionalProperties or unevaluatedProperties, where
+ # 'false' should be used in most cases (see 'child-node-with-own-schema'
+ # below).
additionalProperties: false
properties:
vendor,a-child-node-property:
@@ -189,6 +191,17 @@ properties:
required:
- vendor,a-child-node-property
+ child-node-with-own-schema:
+ description: |
+ Child node with their own compatible and device schema which ends in
+ 'additionalProperties: false' or 'unevaluatedProperties: false' can
+ mention only the compatible and use here 'additionalProperties: true'.
+ type: object
+ additionalProperties: true
+ properties:
+ compatible:
+ const: vendor,sub-device
+
# Describe the relationship between different properties
dependencies:
# 'vendor,bool-property' is only allowed when 'vendor,string-array-property'
diff --git a/Documentation/devicetree/bindings/writing-schema.rst b/Documentation/devicetree/bindings/writing-schema.rst
index eb8ced400c7e..fc73072f12fc 100644
--- a/Documentation/devicetree/bindings/writing-schema.rst
+++ b/Documentation/devicetree/bindings/writing-schema.rst
@@ -117,9 +117,14 @@ additionalProperties / unevaluatedProperties
should be allowed.
* additionalProperties: true
- Rare case, used for schemas implementing common set of properties. Such
- schemas are supposed to be referenced by other schemas, which then use
- 'unevaluatedProperties: false'. Typically bus or common-part schemas.
+ - Top-level part:
+ Rare case, used for schemas implementing common set of properties. Such
+ schemas are supposed to be referenced by other schemas, which then use
+ 'unevaluatedProperties: false'. Typically bus or common-part schemas.
+ - Nested node:
+ When listing only the expected compatible of the nested node and there
+ is an another schema matching that compatible which ends with one of
+ two above cases ('false').
examples
Optional. A list of one or more DTS hunks implementing this binding only.
--
2.43.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] dt-bindings: writing-schema: Explain sub-nodes with additionalProperties:true
2025-03-31 8:13 [PATCH] dt-bindings: writing-schema: Explain sub-nodes with additionalProperties:true Krzysztof Kozlowski
@ 2025-04-01 22:55 ` Rob Herring
0 siblings, 0 replies; 2+ messages in thread
From: Rob Herring @ 2025-04-01 22:55 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Krzysztof Kozlowski, Conor Dooley, devicetree, linux-kernel
On Mon, Mar 31, 2025 at 10:13:45AM +0200, Krzysztof Kozlowski wrote:
> Document recently introduced pattern of using additionalProperties: true
> for sub-nodes with their own schema.
>
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
> .../devicetree/bindings/example-schema.yaml | 15 ++++++++++++++-
> .../devicetree/bindings/writing-schema.rst | 11 ++++++++---
> 2 files changed, 22 insertions(+), 4 deletions(-)
Applied, thanks.
Rob
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-04-01 22:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-31 8:13 [PATCH] dt-bindings: writing-schema: Explain sub-nodes with additionalProperties:true Krzysztof Kozlowski
2025-04-01 22:55 ` Rob Herring
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).