diff mbox series

dt-bindings: power: Add missing (unevaluated|additional)Properties on child nodes

Message ID 20220823145649.3118479-15-robh@kernel.org (mailing list archive)
State New, archived
Headers show
Series dt-bindings: power: Add missing (unevaluated|additional)Properties on child nodes | expand

Commit Message

Rob Herring Aug. 23, 2022, 2:56 p.m. UTC
In order to ensure only documented properties are present, node schemas
must have unevaluatedProperties or additionalProperties set to false
(typically).

Signed-off-by: Rob Herring <robh@kernel.org>
---
 .../bindings/power/domain-idle-state.yaml          | 10 ++++++++++
 .../devicetree/bindings/power/fsl,imx-gpc.yaml     | 14 ++++++++++++++
 .../devicetree/bindings/power/fsl,imx-gpcv2.yaml   | 14 ++++++++++++++
 3 files changed, 38 insertions(+)

Comments

Krzysztof Kozlowski Aug. 25, 2022, 8:21 a.m. UTC | #1
On 23/08/2022 17:56, Rob Herring wrote:
> In order to ensure only documented properties are present, node schemas
> must have unevaluatedProperties or additionalProperties set to false
> (typically).
> 
> Signed-off-by: Rob Herring <robh@kernel.org>


Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>


Best regards,
Krzysztof
Ulf Hansson Aug. 25, 2022, 9:51 a.m. UTC | #2
On Tue, 23 Aug 2022 at 16:57, Rob Herring <robh@kernel.org> wrote:
>
> In order to ensure only documented properties are present, node schemas
> must have unevaluatedProperties or additionalProperties set to false
> (typically).
>
> Signed-off-by: Rob Herring <robh@kernel.org>

Acked-by: Ulf Hansson <ulf.hansson@linaro.org>

Kind regards
Uffe

> ---
>  .../bindings/power/domain-idle-state.yaml          | 10 ++++++++++
>  .../devicetree/bindings/power/fsl,imx-gpc.yaml     | 14 ++++++++++++++
>  .../devicetree/bindings/power/fsl,imx-gpcv2.yaml   | 14 ++++++++++++++
>  3 files changed, 38 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.yaml b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> index 6a12efdf436a..4ee920a1de69 100644
> --- a/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> +++ b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
> @@ -20,6 +20,7 @@ properties:
>  patternProperties:
>    "^(cpu|cluster|domain)-":
>      type: object
> +    additionalProperties: false
>      description:
>        Each state node represents a domain idle state description.
>
> @@ -44,6 +45,15 @@ patternProperties:
>            state will yield power benefits, after overcoming the overhead while
>            entering the idle state.
>
> +      arm,psci-suspend-param:
> +        $ref: /schemas/types.yaml#/definitions/uint32
> +        description: |
> +          power_state parameter to pass to the ARM PSCI suspend call.
> +
> +          Device tree nodes that require usage of PSCI CPU_SUSPEND function
> +          (i.e. idle states node with entry-method property is set to "psci")
> +          must specify this property.
> +
>      required:
>        - compatible
>        - entry-latency-us
> diff --git a/Documentation/devicetree/bindings/power/fsl,imx-gpc.yaml b/Documentation/devicetree/bindings/power/fsl,imx-gpc.yaml
> index a055b3e819d8..777e1d852ddd 100644
> --- a/Documentation/devicetree/bindings/power/fsl,imx-gpc.yaml
> +++ b/Documentation/devicetree/bindings/power/fsl,imx-gpc.yaml
> @@ -43,11 +43,21 @@ properties:
>
>    pgc:
>      type: object
> +    additionalProperties: false
>      description: list of power domains provided by this controller.
>
> +    properties:
> +      '#address-cells':
> +        const: 1
> +
> +      '#size-cells':
> +        const: 0
> +
>      patternProperties:
>        "power-domain@[0-9]$":
>          type: object
> +        additionalProperties: false
> +
>          properties:
>
>            '#power-domain-cells':
> @@ -78,6 +88,10 @@ properties:
>            - '#power-domain-cells'
>            - reg
>
> +    required:
> +      - '#address-cells'
> +      - '#size-cells'
> +
>  required:
>    - compatible
>    - reg
> diff --git a/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml b/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml
> index 747622bdc57b..3b161e01f920 100644
> --- a/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml
> +++ b/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml
> @@ -42,11 +42,21 @@ properties:
>
>    pgc:
>      type: object
> +    additionalProperties: false
>      description: list of power domains provided by this controller.
>
> +    properties:
> +      '#address-cells':
> +        const: 1
> +
> +      '#size-cells':
> +        const: 0
> +
>      patternProperties:
>        "power-domain@[0-9]$":
>          type: object
> +        additionalProperties: false
> +
>          properties:
>
>            '#power-domain-cells':
> @@ -85,6 +95,10 @@ properties:
>            - '#power-domain-cells'
>            - reg
>
> +    required:
> +      - '#address-cells'
> +      - '#size-cells'
> +
>  required:
>    - compatible
>    - reg
> --
> 2.34.1
>
Rob Herring Aug. 31, 2022, 8:43 p.m. UTC | #3
On Tue, 23 Aug 2022 09:56:46 -0500, Rob Herring wrote:
> In order to ensure only documented properties are present, node schemas
> must have unevaluatedProperties or additionalProperties set to false
> (typically).
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  .../bindings/power/domain-idle-state.yaml          | 10 ++++++++++
>  .../devicetree/bindings/power/fsl,imx-gpc.yaml     | 14 ++++++++++++++
>  .../devicetree/bindings/power/fsl,imx-gpcv2.yaml   | 14 ++++++++++++++
>  3 files changed, 38 insertions(+)
> 

Applied, thanks!
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/power/domain-idle-state.yaml b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
index 6a12efdf436a..4ee920a1de69 100644
--- a/Documentation/devicetree/bindings/power/domain-idle-state.yaml
+++ b/Documentation/devicetree/bindings/power/domain-idle-state.yaml
@@ -20,6 +20,7 @@  properties:
 patternProperties:
   "^(cpu|cluster|domain)-":
     type: object
+    additionalProperties: false
     description:
       Each state node represents a domain idle state description.
 
@@ -44,6 +45,15 @@  patternProperties:
           state will yield power benefits, after overcoming the overhead while
           entering the idle state.
 
+      arm,psci-suspend-param:
+        $ref: /schemas/types.yaml#/definitions/uint32
+        description: |
+          power_state parameter to pass to the ARM PSCI suspend call.
+
+          Device tree nodes that require usage of PSCI CPU_SUSPEND function
+          (i.e. idle states node with entry-method property is set to "psci")
+          must specify this property.
+
     required:
       - compatible
       - entry-latency-us
diff --git a/Documentation/devicetree/bindings/power/fsl,imx-gpc.yaml b/Documentation/devicetree/bindings/power/fsl,imx-gpc.yaml
index a055b3e819d8..777e1d852ddd 100644
--- a/Documentation/devicetree/bindings/power/fsl,imx-gpc.yaml
+++ b/Documentation/devicetree/bindings/power/fsl,imx-gpc.yaml
@@ -43,11 +43,21 @@  properties:
 
   pgc:
     type: object
+    additionalProperties: false
     description: list of power domains provided by this controller.
 
+    properties:
+      '#address-cells':
+        const: 1
+
+      '#size-cells':
+        const: 0
+
     patternProperties:
       "power-domain@[0-9]$":
         type: object
+        additionalProperties: false
+
         properties:
 
           '#power-domain-cells':
@@ -78,6 +88,10 @@  properties:
           - '#power-domain-cells'
           - reg
 
+    required:
+      - '#address-cells'
+      - '#size-cells'
+
 required:
   - compatible
   - reg
diff --git a/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml b/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml
index 747622bdc57b..3b161e01f920 100644
--- a/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml
+++ b/Documentation/devicetree/bindings/power/fsl,imx-gpcv2.yaml
@@ -42,11 +42,21 @@  properties:
 
   pgc:
     type: object
+    additionalProperties: false
     description: list of power domains provided by this controller.
 
+    properties:
+      '#address-cells':
+        const: 1
+
+      '#size-cells':
+        const: 0
+
     patternProperties:
       "power-domain@[0-9]$":
         type: object
+        additionalProperties: false
+
         properties:
 
           '#power-domain-cells':
@@ -85,6 +95,10 @@  properties:
           - '#power-domain-cells'
           - reg
 
+    required:
+      - '#address-cells'
+      - '#size-cells'
+
 required:
   - compatible
   - reg