dt-bindings: firmware: arm,scmi: Restrict protocol child node properties

The SCMI protocol child nodes are missing any constraints on unknown
properties. Specifically, either 'unevaluatedProperties' or
'additionalProperties' is needed. The current structure with a regex
match for all child nodes doesn't work for this purpose, so let's move
the common properties '$defs' entry which each specific protocol node
can reference and set 'unevaluatedProperties: false'.

Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20230124222023.316089-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
This commit is contained in:
Rob Herring 2023-01-24 16:20:23 -06:00
parent f3531d1acb
commit df4fdd0db4

View file

@ -100,7 +100,9 @@ properties:
Channel specifier required when using OP-TEE transport.
protocol@11:
type: object
$ref: '#/$defs/protocol-node'
unevaluatedProperties: false
properties:
reg:
const: 0x11
@ -112,7 +114,9 @@ properties:
- '#power-domain-cells'
protocol@13:
type: object
$ref: '#/$defs/protocol-node'
unevaluatedProperties: false
properties:
reg:
const: 0x13
@ -124,7 +128,9 @@ properties:
- '#clock-cells'
protocol@14:
type: object
$ref: '#/$defs/protocol-node'
unevaluatedProperties: false
properties:
reg:
const: 0x14
@ -136,7 +142,9 @@ properties:
- '#clock-cells'
protocol@15:
type: object
$ref: '#/$defs/protocol-node'
unevaluatedProperties: false
properties:
reg:
const: 0x15
@ -148,7 +156,9 @@ properties:
- '#thermal-sensor-cells'
protocol@16:
type: object
$ref: '#/$defs/protocol-node'
unevaluatedProperties: false
properties:
reg:
const: 0x16
@ -160,20 +170,31 @@ properties:
- '#reset-cells'
protocol@17:
type: object
$ref: '#/$defs/protocol-node'
unevaluatedProperties: false
properties:
reg:
const: 0x17
regulators:
type: object
additionalProperties: false
description:
The list of all regulators provided by this SCMI controller.
properties:
'#address-cells':
const: 1
'#size-cells':
const: 0
patternProperties:
'^regulators@[0-9a-f]+$':
'^regulator@[0-9a-f]+$':
type: object
$ref: "../regulator/regulator.yaml#"
unevaluatedProperties: false
properties:
reg:
@ -184,15 +205,17 @@ properties:
- reg
protocol@18:
type: object
$ref: '#/$defs/protocol-node'
unevaluatedProperties: false
properties:
reg:
const: 0x18
additionalProperties: false
patternProperties:
'^protocol@[0-9a-f]+$':
$defs:
protocol-node:
type: object
description:
Each sub-node represents a protocol supported. If the platform