diff mbox series

[2/3] docs: dt: writing-schema: explain additional/unevaluatedProperties

Message ID 20240212150524.81819-2-krzysztof.kozlowski@linaro.org
State Accepted
Headers show
Series [1/3] docs: dt: writing-schema: clarify that schema should describe hardware | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success

Commit Message

Krzysztof Kozlowski Feb. 12, 2024, 3:05 p.m. UTC
Add to the list of schema contents expected keywords with their
explanation: additionalProperties and unevaluatedProperties.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
---
 .../devicetree/bindings/writing-schema.rst    | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Rob Herring (Arm) Feb. 13, 2024, 4:22 p.m. UTC | #1
On Mon, 12 Feb 2024 16:05:23 +0100, Krzysztof Kozlowski wrote:
> Add to the list of schema contents expected keywords with their
> explanation: additionalProperties and unevaluatedProperties.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> ---
>  .../devicetree/bindings/writing-schema.rst    | 20 +++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 

Applied, thanks!
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/writing-schema.rst b/Documentation/devicetree/bindings/writing-schema.rst
index 2e5575e6a4e5..a35859f3be00 100644
--- a/Documentation/devicetree/bindings/writing-schema.rst
+++ b/Documentation/devicetree/bindings/writing-schema.rst
@@ -71,6 +71,26 @@  required
   A list of DT properties from the 'properties' section that
   must always be present.
 
+additionalProperties / unevaluatedProperties
+  Keywords controlling how schema will validate properties not matched by this
+  schema's 'properties' or 'patternProperties'. Each schema is supposed to
+  have exactly one of these keywords in top-level part, so either
+  additionalProperties or unevaluatedProperties. Nested nodes, so properties
+  being objects, are supposed to have one as well.
+
+  * additionalProperties: false
+      Most common case, where no additional schema is referenced or if this
+      binding allows subset of properties from other referenced schemas.
+
+  * unevaluatedProperties: false
+      Used when this binding references other schema whose all properties
+      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.
+
 examples
   Optional. A list of one or more DTS hunks implementing the
   binding. Note: YAML doesn't allow leading tabs, so spaces must be used instead.