dt-bindings: mtd: fixed-partitions: Fix 'sercomm,scpart-id' schema
Commit Message
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@gmail.com>
Signed-off-by: Rob Herring <robh@kernel.org>
---
.../mtd/partitions/fixed-partitions.yaml | 29 +++++++------------
1 file changed, 11 insertions(+), 18 deletions(-)
Comments
Hi Rob,
robh@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@gmail.com>
> Signed-off-by: Rob Herring <robh@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
On Fri, 2022-11-11 at 21:28:24 UTC, Rob Herring wrote:
> 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@gmail.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next, thanks.
Miquel
@@ -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"