[PATCH 1/3] dt-bindings: mtd: Relax BCM4908 partition schema

From: Sam Edwards
Date: Wed Oct 09 2024 - 17:51:43 EST


The BCM4908 partition "parser" is really just a fixed partitions table,
with a special partition compatible (`brcm,bcm4908-firmware`) that
automatically labels the partition as "firmware" or "backup" depending
on what CFE is communicating as the selected active partition.

The bcm4908-partitions schema is currently too restrictive, requiring
that all child nodes use this special compatible or none at all. This
not only contracits what is allowed by the "parser" but also causes
warnings for an existing file ("bcm4908-asus-gt-ac5300.dts").

Modify the schema to be strict only for child partitions that use the
-firmware compatible. Also update the child name regex to agree with
fixed-partitions, so that these differences apply consistently.

Signed-off-by: Sam Edwards <CFSworks@xxxxxxxxx>
---
.../mtd/partitions/brcm,bcm4908-partitions.yaml | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
index 94f0742b375c..aed37922a5fc 100644
--- a/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
+++ b/Documentation/devicetree/bindings/mtd/partitions/brcm,bcm4908-partitions.yaml
@@ -30,12 +30,17 @@ properties:
enum: [ 1, 2 ]

patternProperties:
- "^partition@[0-9a-f]+$":
- $ref: partition.yaml#
- properties:
- compatible:
- const: brcm,bcm4908-firmware
- unevaluatedProperties: false
+ "^partition(-.+|@[0-9a-f]+)$":
+ type: object
+ if:
+ properties:
+ compatible:
+ const: brcm,bcm4908-firmware
+ then:
+ $ref: partition.yaml#
+ properties:
+ compatible: true
+ unevaluatedProperties: false

required:
- "#address-cells"
--
2.44.2