[v3,11/17] dt-bindings: mtd: partitions: Constrain the list of parsers
Commit Message
Parser compatibles cannot be used anywhere, and the list is limited. In
order to constrain this list, enumerate them all under the top
"partitions" subnode. New parsers will have to add their own compatible
here as well.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/mtd/mtd.yaml | 3 +++
.../mtd/partitions/arm,arm-firmware-suite.yaml | 2 ++
.../mtd/partitions/brcm,bcm4908-partitions.yaml | 2 ++
.../mtd/partitions/brcm,bcm947xx-cfe-partitions.yaml | 2 ++
.../mtd/partitions/linksys,ns-partitions.yaml | 2 ++
.../bindings/mtd/partitions/partitions.yaml | 12 ++++++++++--
.../bindings/mtd/partitions/qcom,smem-part.yaml | 2 ++
.../bindings/mtd/partitions/redboot-fis.yaml | 6 ++++++
8 files changed, 29 insertions(+), 2 deletions(-)
Comments
On Mon, 2022-11-14 at 09:03:09 UTC, Miquel Raynal wrote:
> Parser compatibles cannot be used anywhere, and the list is limited. In
> order to constrain this list, enumerate them all under the top
> "partitions" subnode. New parsers will have to add their own compatible
> here as well.
>
> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
> Reviewed-by: Rob Herring <robh@kernel.org>
Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/next.
Miquel
@@ -30,6 +30,9 @@ properties:
partitions:
$ref: /schemas/mtd/partitions/partitions.yaml
+ required:
+ - compatible
+
patternProperties:
"@[0-9a-f]+$":
$ref: partitions/partition.yaml
@@ -9,6 +9,8 @@ title: ARM Firmware Suite (AFS) Partitions
maintainers:
- Linus Walleij <linus.walleij@linaro.org>
+select: false
+
description: |
The ARM Firmware Suite is a flash partitioning system found on the
ARM reference designs: Integrator AP, Integrator CP, Versatile AB,
@@ -17,6 +17,8 @@ description: |
maintainers:
- Rafał Miłecki <rafal@milecki.pl>
+select: false
+
properties:
compatible:
const: brcm,bcm4908-partitions
@@ -35,6 +35,8 @@ description: |
maintainers:
- Rafał Miłecki <rafal@milecki.pl>
+select: false
+
properties:
compatible:
const: brcm,bcm947xx-cfe-partitions
@@ -18,6 +18,8 @@ description: |
maintainers:
- Rafał Miłecki <rafal@milecki.pl>
+select: false
+
properties:
compatible:
const: linksys,ns-partitions
@@ -13,6 +13,15 @@ description: |
maintainers:
- Miquel Raynal <miquel.raynal@bootlin.com>
+oneOf:
+ - $ref: arm,arm-firmware-suite.yaml
+ - $ref: brcm,bcm4908-partitions.yaml
+ - $ref: brcm,bcm947xx-cfe-partitions.yaml
+ - $ref: fixed-partitions.yaml
+ - $ref: linksys,ns-partitions.yaml
+ - $ref: qcom,smem-part.yaml
+ - $ref: redboot-fis.yaml
+
properties:
compatible: true
@@ -29,5 +38,4 @@ patternProperties:
required:
- compatible
-# Temporary value, should be set to false when constraining the parsers list
-additionalProperties: true
+unevaluatedProperties: false
@@ -15,6 +15,8 @@ description: |
varies between partition table revisions. V3 supports maximum 16 partitions
and V4 supports 48 partitions.
+select: false
+
properties:
compatible:
const: qcom,smem-part
@@ -16,6 +16,8 @@ description: The FLASH Image System (FIS) directory is a flash description
maintainers:
- Linus Walleij <linus.walleij@linaro.org>
+select: false
+
properties:
compatible:
const: redboot-fis
@@ -26,6 +28,10 @@ properties:
device. On a flash memory with 32KB eraseblocks, 0 means the first
eraseblock at 0x00000000, 1 means the second eraseblock at 0x00008000 and so on.
+ '#address-cells': false
+
+ '#size-cells': false
+
required:
- compatible
- fis-index-block