Re: [PATCH] dt-bindings: mtd: partitions: make partition an NVMEM provider

From: Rob Herring
Date: Fri Jan 19 2024 - 17:34:12 EST


On Thu, Jan 11, 2024 at 01:19:40PM +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@xxxxxxxxxx>
>
> MTD partition provides flash device data and can be used as NVMEM
> device.

I don't follow what is the relationship between this and your other
series.

>
> Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx>
> ---
> .../bindings/mtd/partitions/partition.yaml | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mtd/partitions/partition.yaml b/Documentation/devicetree/bindings/mtd/partitions/partition.yaml
> index 1ebe9e2347ea..7b1d84ce5ef5 100644
> --- a/Documentation/devicetree/bindings/mtd/partitions/partition.yaml
> +++ b/Documentation/devicetree/bindings/mtd/partitions/partition.yaml
> @@ -57,13 +57,15 @@ properties:
> user space from
> type: boolean
>
> -if:
> - not:
> - required: [ reg ]
> -then:
> - properties:
> - $nodename:
> - pattern: '^partition-.*$'
> +allOf:
> + - $ref: /schemas/nvmem/nvmem.yaml

Only some partitions are nvmem nodes, so we shouldn't always include it.
Then we can't exclude nvmem properties from partition nodes which
aren't. We should identify those nodes by compatible and their schema
should reference partition.yaml and nvmem.yaml.

There's a general problem with the partition related schemas that
undefined properties are not caught. This is partly because
partition nodes can be nested and expressing that with the schema is
hard.

Rob