On Wed, Oct 09, 2024 at 02:50:44PM -0700, Sam Edwards wrote: > 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 What schema applies to the node if this is not true? That needs to be addressed. You should be able to use oneOf here rather than if/then schema. > + then: > + $ref: partition.yaml# > + properties: > + compatible: true > + unevaluatedProperties: false > > required: > - "#address-cells" > -- > 2.44.2 >