.../devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml | 1 + .../devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml | 1 + .../devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml | 1 + 3 files changed, 3 insertions(+)
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>
---
.../devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml | 1 +
.../devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml | 1 +
.../devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml | 1 +
3 files changed, 3 insertions(+)
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml
index e76c861165dd..e4a7da8020f4 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml
@@ -140,6 +140,7 @@ properties:
glink-edge:
$ref: qcom,glink-edge.yaml#
+ unevaluatedProperties: false
description:
Qualcomm G-Link subnode which represents communication edge, channels
and devices related to the DSP.
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml
index da1a5de3d38b..b4de0521a89d 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml
@@ -154,6 +154,7 @@ properties:
glink-edge:
$ref: qcom,glink-edge.yaml#
+ unevaluatedProperties: false
description:
Qualcomm G-Link subnode which represents communication edge, channels
and devices related to the DSP.
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml
index 3f06d66cbe47..b6bd33438584 100644
--- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml
@@ -107,6 +107,7 @@ properties:
glink-edge:
$ref: qcom,glink-edge.yaml#
+ unevaluatedProperties: false
description:
Qualcomm G-Link subnode which represents communication edge, channels
and devices related to the ADSP.
--
2.34.1
On Tue, 23 Aug 2022 09:56:41 -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> > --- > .../devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml | 1 + > .../devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml | 1 + > .../devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml | 1 + > 3 files changed, 3 insertions(+) > Applied, thanks!
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> > --- > .../devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml | 1 + > .../devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml | 1 + > .../devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml | 1 + > 3 files changed, 3 insertions(+) > > diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml > index e76c861165dd..e4a7da8020f4 100644 > --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml > +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml > @@ -140,6 +140,7 @@ properties: > > glink-edge: > $ref: qcom,glink-edge.yaml# > + unevaluatedProperties: false Is it actually needed? The qcom,glink-edge.yaml has additionalProperties:false, so I expect it to complain if anything appears here. Best regards, Krzysztof
On Thu, Aug 25, 2022 at 3:23 AM Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote: > > 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> > > --- > > .../devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml | 1 + > > .../devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml | 1 + > > .../devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml | 1 + > > 3 files changed, 3 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml > > index e76c861165dd..e4a7da8020f4 100644 > > --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml > > +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml > > @@ -140,6 +140,7 @@ properties: > > > > glink-edge: > > $ref: qcom,glink-edge.yaml# > > + unevaluatedProperties: false > > Is it actually needed? The qcom,glink-edge.yaml has > additionalProperties:false, so I expect it to complain if anything > appears here. Perhaps not, but I'm trying to come up with a meta-schema to check these though I'm not sure I can get to no warnings which is how I found all these cases. The main remaining warnings are bus child node pattern schemas which can perhaps be handled with 'additionalProperties: true'. The rule I have says if properties or patternProperties is present then unevaluatedProperties or additionalProperties must be. To handle this case, I think we'd have to walk the $ref and check it. Anyways, we can hold off on this one until when and if there's a meta-schema in place. Rob
On 25/08/2022 16:13, Rob Herring wrote: > On Thu, Aug 25, 2022 at 3:23 AM Krzysztof Kozlowski > <krzysztof.kozlowski@linaro.org> wrote: >> >> 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> >>> --- >>> .../devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml | 1 + >>> .../devicetree/bindings/remoteproc/qcom,sc7280-mss-pil.yaml | 1 + >>> .../devicetree/bindings/remoteproc/qcom,sc7280-wpss-pil.yaml | 1 + >>> 3 files changed, 3 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml >>> index e76c861165dd..e4a7da8020f4 100644 >>> --- a/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml >>> +++ b/Documentation/devicetree/bindings/remoteproc/qcom,sc7180-mss-pil.yaml >>> @@ -140,6 +140,7 @@ properties: >>> >>> glink-edge: >>> $ref: qcom,glink-edge.yaml# >>> + unevaluatedProperties: false >> >> Is it actually needed? The qcom,glink-edge.yaml has >> additionalProperties:false, so I expect it to complain if anything >> appears here. > > Perhaps not, but I'm trying to come up with a meta-schema to check > these though I'm not sure I can get to no warnings which is how I > found all these cases. The main remaining warnings are bus child node > pattern schemas which can perhaps be handled with > 'additionalProperties: true'. The rule I have says if properties or > patternProperties is present then unevaluatedProperties or > additionalProperties must be. To handle this case, I think we'd have > to walk the $ref and check it. > > Anyways, we can hold off on this one until when and if there's a > meta-schema in place. For me adding unevaluatedProp:false everywhere with $ref is okay and it makes the code easier to read - no need to dive into referenced schema to remember if it allows or does not allow additional properties. It is also a safer choice if referenced schema forgot to set additionalProp:false. However if referenced schema has additionalProp:false, then unevaluatedProp:false here is redundant and question is whether the redundancy is worth additional readability/obviousness. To me, unevaluatedProp:false here would during review save time - no need to jump into referenced schema to check what is there. If we make it a rule / coding convention, then I am in. Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
© 2016 - 2026 Red Hat, Inc.