Skip to contentSkip to conversation

dt-bindings: mfd: Add missing unevaluatedProperties on child node schemas

PATCH Applied Rob Herring 4 participants 4 messages Sep 25, 2023 – Sep 28, 2023

Subsystems (4)
lore
Share & tools
lore

Rob Herring

author maintainer
#0 lore raw

PATCH 1/1 dt-bindings: mfd: Add missing unevaluatedProperties on child node schemas

Just as unevaluatedProperties or additionalProperties are required at the top level of schemas, they should (and will) also be required for child node schemas. That ensures only documented properties are present for any node.

Add unevaluatedProperties as needed, and then add any missing properties flagged by the addition.

---
 Documentation/devicetree/bindings/mfd/maxim,max5970.yaml   | 5 +++++
 Documentation/devicetree/bindings/mfd/mediatek,mt6357.yaml | 2 ++
 Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml  | 1 +
 Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml  | 1 +
 Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml  | 3 ++-
 Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml  | 1 +
 Documentation/devicetree/bindings/mfd/ti,lp87524-q1.yaml   | 1 +
 Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml   | 1 +
 Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml   | 1 +
 9 files changed, 15 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/mfd/maxim,max5970.yaml +5 -0
index da67742c5aa9..0da5cae3852e 100644
@@ -45,8 +45,13 @@ properties:
     patternProperties:
       "^led@[0-3]$":
         $ref: /schemas/leds/common.yaml#
+        unevaluatedProperties: false
         type: object
 
+        properties:
+          reg:
+            maximum: 3
+
     additionalProperties: false
 
   vss1-supply:
Documentation/devicetree/bindings/mfd/mediatek,mt6357.yaml +2 -0
index fc2a53148e1c..37423c2e0fdf 100644
@@ -40,6 +40,7 @@ properties:
   regulators:
     type: object
     $ref: /schemas/regulator/mediatek,mt6357-regulator.yaml
+    unevaluatedProperties: false
     description:
       List of MT6357 BUCKs and LDOs regulators.
 
@@ -59,6 +60,7 @@ properties:
   keys:
     type: object
     $ref: /schemas/input/mediatek,pmic-keys.yaml
+    unevaluatedProperties: false
     description:
       MT6357 power and home keys.
 
Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml +1 -0
index 4992f71b6fc3..af6cd1969c22 100644
@@ -80,6 +80,7 @@ properties:
       "^(DCDC_REG[1-4]|LDO_REG[1-3])$":
         type: object
         $ref: ../regulator/regulator.yaml#
+        unevaluatedProperties: false
     unevaluatedProperties: false
 
 allOf:
Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml +1 -0
index f5908fa01a61..8a16d651c2a3 100644
@@ -107,6 +107,7 @@ properties:
       "^(DCDC_REG[1-4]|LDO_REG[1-8]|SWITCH_REG[1-2])$":
         type: object
         $ref: ../regulator/regulator.yaml#
+        unevaluatedProperties: false
     unevaluatedProperties: false
 
 required:
Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml +2 -1
index 7fb849ac74a7..e922e0176ee7 100644
@@ -86,7 +86,8 @@ properties:
     patternProperties:
       "^(LDO_REG[1-9]|DCDC_REG[1-5]|SWITCH_REG[1-2])$":
         type: object
-        $ref: ../regulator/regulator.yaml#
+        $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
     unevaluatedProperties: false
 
 allOf:
Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml +1 -0
index b57c4b005cf4..ee5bca6e75df 100644
@@ -99,6 +99,7 @@ properties:
       "^(DCDC_REG[1-4]|DCDC_BOOST|LDO_REG[1-9]|SWITCH_REG|HDMI_SWITCH|OTG_SWITCH)$":
         type: object
         $ref: ../regulator/regulator.yaml#
+        unevaluatedProperties: false
     unevaluatedProperties: false
 
 required:
Documentation/devicetree/bindings/mfd/ti,lp87524-q1.yaml +1 -0
index f6cac4b1079c..ae149eb8593d 100644
@@ -37,6 +37,7 @@ properties:
       "^buck[0123]$":
         type: object
         $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
 
     required:
       - buck0
Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml +1 -0
index dc5a29b5ef7d..5167d6eb904a 100644
@@ -41,6 +41,7 @@ properties:
       buck3210:
         type: object
         $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
 
     required:
       - buck3210
Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml +1 -0
index 012d25111054..eca430edf608 100644
@@ -47,6 +47,7 @@ properties:
       "^buck(10|23)$":
         type: object
         $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
 
     required:
       - buck10
Signature · 1 line
2.40.1
maintainer Reviewed-by on v1 1/1
#1 lore raw

Il 25/09/23 23:27, Rob Herring ha scritto:

Quoted 9 lines

Just as unevaluatedProperties or additionalProperties are required at the top level of schemas, they should (and will) also be required for child node schemas. That ensures only documented properties are present for any node.

Add unevaluatedProperties as needed, and then add any missing properties flagged by the addition.

For MediaTek:

Quoted 12 lines
---
  Documentation/devicetree/bindings/mfd/maxim,max5970.yaml   | 5 +++++
  Documentation/devicetree/bindings/mfd/mediatek,mt6357.yaml | 2 ++
  Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml  | 1 +
  Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml  | 1 +
  Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml  | 3 ++-
  Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml  | 1 +
  Documentation/devicetree/bindings/mfd/ti,lp87524-q1.yaml   | 1 +
  Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml   | 1 +
  Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml   | 1 +
  9 files changed, 15 insertions(+), 1 deletion(-)
Acked-by on v1 1/1
#2 lore raw
In reply to Rob Herring
Quoted 9 lines · Rob Herring

Just as unevaluatedProperties or additionalProperties are required at the top level of schemas, they should (and will) also be required for child node schemas. That ensures only documented properties are present for any node.

Add unevaluatedProperties as needed, and then add any missing properties flagged by the addition.

Thanks,
Conor.

Quoted 139 lines
---
 Documentation/devicetree/bindings/mfd/maxim,max5970.yaml   | 5 +++++
 Documentation/devicetree/bindings/mfd/mediatek,mt6357.yaml | 2 ++
 Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml  | 1 +
 Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml  | 1 +
 Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml  | 3 ++-
 Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml  | 1 +
 Documentation/devicetree/bindings/mfd/ti,lp87524-q1.yaml   | 1 +
 Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml   | 1 +
 Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml   | 1 +
 9 files changed, 15 insertions(+), 1 deletion(-)
Documentation/devicetree/bindings/mfd/maxim,max5970.yaml +5 -0
index da67742c5aa9..0da5cae3852e 100644
@@ -45,8 +45,13 @@ properties:
     patternProperties:
       "^led@[0-3]$":
         $ref: /schemas/leds/common.yaml#
+        unevaluatedProperties: false
         type: object
 
+        properties:
+          reg:
+            maximum: 3
+
     additionalProperties: false
 
   vss1-supply:
Documentation/devicetree/bindings/mfd/mediatek,mt6357.yaml +2 -0
index fc2a53148e1c..37423c2e0fdf 100644
@@ -40,6 +40,7 @@ properties:
   regulators:
     type: object
     $ref: /schemas/regulator/mediatek,mt6357-regulator.yaml
+    unevaluatedProperties: false
     description:
       List of MT6357 BUCKs and LDOs regulators.
 
@@ -59,6 +60,7 @@ properties:
   keys:
     type: object
     $ref: /schemas/input/mediatek,pmic-keys.yaml
+    unevaluatedProperties: false
     description:
       MT6357 power and home keys.
 
Documentation/devicetree/bindings/mfd/rockchip,rk805.yaml +1 -0
index 4992f71b6fc3..af6cd1969c22 100644
@@ -80,6 +80,7 @@ properties:
       "^(DCDC_REG[1-4]|LDO_REG[1-3])$":
         type: object
         $ref: ../regulator/regulator.yaml#
+        unevaluatedProperties: false
     unevaluatedProperties: false
 
 allOf:
Documentation/devicetree/bindings/mfd/rockchip,rk808.yaml +1 -0
index f5908fa01a61..8a16d651c2a3 100644
@@ -107,6 +107,7 @@ properties:
       "^(DCDC_REG[1-4]|LDO_REG[1-8]|SWITCH_REG[1-2])$":
         type: object
         $ref: ../regulator/regulator.yaml#
+        unevaluatedProperties: false
     unevaluatedProperties: false
 
 required:
Documentation/devicetree/bindings/mfd/rockchip,rk809.yaml +2 -1
index 7fb849ac74a7..e922e0176ee7 100644
@@ -86,7 +86,8 @@ properties:
     patternProperties:
       "^(LDO_REG[1-9]|DCDC_REG[1-5]|SWITCH_REG[1-2])$":
         type: object
-        $ref: ../regulator/regulator.yaml#
+        $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
     unevaluatedProperties: false
 
 allOf:
Documentation/devicetree/bindings/mfd/rockchip,rk818.yaml +1 -0
index b57c4b005cf4..ee5bca6e75df 100644
@@ -99,6 +99,7 @@ properties:
       "^(DCDC_REG[1-4]|DCDC_BOOST|LDO_REG[1-9]|SWITCH_REG|HDMI_SWITCH|OTG_SWITCH)$":
         type: object
         $ref: ../regulator/regulator.yaml#
+        unevaluatedProperties: false
     unevaluatedProperties: false
 
 required:
Documentation/devicetree/bindings/mfd/ti,lp87524-q1.yaml +1 -0
index f6cac4b1079c..ae149eb8593d 100644
@@ -37,6 +37,7 @@ properties:
       "^buck[0123]$":
         type: object
         $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
 
     required:
       - buck0
Documentation/devicetree/bindings/mfd/ti,lp87561-q1.yaml +1 -0
index dc5a29b5ef7d..5167d6eb904a 100644
@@ -41,6 +41,7 @@ properties:
       buck3210:
         type: object
         $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
 
     required:
       - buck3210
Documentation/devicetree/bindings/mfd/ti,lp87565-q1.yaml +1 -0
index 012d25111054..eca430edf608 100644
@@ -47,6 +47,7 @@ properties:
       "^buck(10|23)$":
         type: object
         $ref: /schemas/regulator/regulator.yaml#
+        unevaluatedProperties: false
 
     required:
       - buck10
Signature · 1 line
2.40.1
maintainer Applied
#3 lore raw

Re: (subset) [PATCH] dt-bindings: mfd: Add missing unevaluatedProperties on child node schemas

In reply to Rob Herring
Quoted 9 lines · Rob Herring

Just as unevaluatedProperties or additionalProperties are required at the top level of schemas, they should (and will) also be required for child node schemas. That ensures only documented properties are present for any node.

Add unevaluatedProperties as needed, and then add any missing properties flagged by the addition.

[...]

Applied, thanks!

[1/1] dt-bindings: mfd: Add missing unevaluatedProperties on child node schemas

      commit: c7d1263be9396582f86024dc33f336d974496b83

--
Lee Jones [李琼斯]