dt-bindings: leds: class-multicolor: reference class directly in multi-led node

The leds/common.yaml is referenced directly in each LED node, which
leads to people doing the same with leds/leds-class-multicolor.yaml.
This is not correct because leds-class-multicolor.yaml defined multi-led
property and its children.  Some schemas implemented this incorrect.

Rework this to match same behavior common.yaml, so expect the multi-led
node to reference the leds-class-multicolor.yaml.  Fixing allows to add
unevaluatedProperties:false.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Pavel Machek <pavel@ucw.cz>
This commit is contained in:
Krzysztof Kozlowski 2022-06-24 13:21:06 +02:00 committed by Pavel Machek
parent a0ba692072
commit de40c8496e
5 changed files with 22 additions and 17 deletions

View file

@ -33,6 +33,8 @@ patternProperties:
"^multi-led@[0-9a-b]$":
type: object
$ref: leds-class-multicolor.yaml#
unevaluatedProperties: false
description:
This node represents one of the RGB LED devices on Turris Omnia.
No subnodes need to be added for subchannels since this controller only

View file

@ -19,22 +19,22 @@ description: |
LED class. Common LED nodes and properties are inherited from the common.yaml
within this documentation directory.
patternProperties:
"^multi-led(@[0-9a-f])?$":
type: object
description: Represents the LEDs that are to be grouped.
properties:
color:
description: |
For multicolor LED support this property should be defined as either
LED_COLOR_ID_RGB or LED_COLOR_ID_MULTI which can be found in
include/linux/leds/common.h.
enum: [ 8, 9 ]
properties:
$nodename:
pattern: "^multi-led(@[0-9a-f])?$"
$ref: "common.yaml#"
color:
description: |
For multicolor LED support this property should be defined as either
LED_COLOR_ID_RGB or LED_COLOR_ID_MULTI which can be found in
include/linux/leds/common.h.
enum: [ 8, 9 ]
required:
- color
required:
- color
allOf:
- $ref: "common.yaml#"
additionalProperties: true

View file

@ -56,6 +56,8 @@ patternProperties:
'^multi-led@[0-9a-f]$':
type: object
$ref: leds-class-multicolor.yaml#
unevaluatedProperties: false
properties:
reg:
minItems: 1

View file

@ -19,6 +19,8 @@ properties:
multi-led:
type: object
$ref: leds-class-multicolor.yaml#
unevaluatedProperties: false
patternProperties:
"^led-[0-9a-z]+$":
@ -46,9 +48,6 @@ properties:
required:
- compatible
allOf:
- $ref: leds-class-multicolor.yaml#
additionalProperties: false
examples:

View file

@ -58,6 +58,8 @@ properties:
multi-led:
type: object
$ref: leds-class-multicolor.yaml#
unevaluatedProperties: false
properties:
"#address-cells":
const: 1