Hi Rob, robh@xxxxxxxxxx wrote on Fri, 11 Nov 2022 15:28:24 -0600: > The schema for 'sercomm,scpart-id' is broken. The 'if' condition is > never true because 'compatible' is in the parent node, not the child > node the sub-schema applies to. The example passes as there are no > constraints on additional/unevaluated properties. That's a secondary > issue which is complicated due to nested partitions. > > Drop the if/then schema and the unnecessary 'allOf' so that the > 'sercomm,scpart-id' property is at least defined. > > Cc: Mikhail Zhilkin <csharper2005@xxxxxxxxx> > Signed-off-by: Rob Herring <robh@xxxxxxxxxx> Mmmh right, I've missed that in my little rework. I'll apply it with the big series "[PATCH v3 00/17] Improve MTD bindings" as soon as the last remaining patch gets reviewed. > --- > .../mtd/partitions/fixed-partitions.yaml | 29 +++++++------------ > 1 file changed, 11 insertions(+), 18 deletions(-) > > diff --git a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > index ad3ccd250802..39b715aad2dc 100644 > --- a/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > +++ b/Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml > @@ -31,24 +31,17 @@ properties: > > patternProperties: > "@[0-9a-f]+$": > - allOf: > - - $ref: "partition.yaml#" > - - if: > - properties: > - compatible: > - contains: > - const: sercomm,sc-partitions > - then: > - properties: > - sercomm,scpart-id: > - description: Partition id in Sercomm partition map. Mtd > - parser uses this id to find a record in the partition map > - containing offset and size of the current partition. The > - values from partition map overrides partition offset and > - size defined in reg property of the dts. Frequently these > - values are the same, but may differ if device has bad > - eraseblocks on a flash. > - $ref: /schemas/types.yaml#/definitions/uint32 > + $ref: partition.yaml# > + > + properties: > + sercomm,scpart-id: > + description: Partition id in Sercomm partition map. Mtd parser > + uses this id to find a record in the partition map containing > + offset and size of the current partition. The values from > + partition map overrides partition offset and size defined in > + reg property of the dts. Frequently these values are the same, > + but may differ if device has bad eraseblocks on a flash. > + $ref: /schemas/types.yaml#/definitions/uint32 > > required: > - "#address-cells" Thanks, Miquèl