[PATCH] dt-bindings: mtd: fixed-partitions: Fix 'sercomm,scpart-id' schema

Miquel Raynal miquel.raynal at bootlin.com
Mon Nov 14 01:14:28 PST 2022


Hi Rob,

robh at kernel.org 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 at gmail.com>
> Signed-off-by: Rob Herring <robh at kernel.org>

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



More information about the linux-mtd mailing list