dt-bindings: writing-schema: Explain sub-nodes with additionalProperties:true

Document recently introduced pattern of using additionalProperties: true
for sub-nodes with their own schema.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250331081345.37103-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
This commit is contained in:
Krzysztof Kozlowski
2025-03-31 10:13:45 +02:00
committed by Rob Herring (Arm)
parent 0af2f6be1b
commit af134b1145
2 changed files with 22 additions and 4 deletions

View File

@@ -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'