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

Rafał Miłecki posted 1 patch 1 year, 11 months ago
.../bindings/mtd/partitions/partition.yaml       | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
[PATCH] dt-bindings: mtd: partitions: make partition an NVMEM provider
Posted by Rafał Miłecki 1 year, 11 months ago
From: Rafał Miłecki <rafal@milecki.pl>

MTD partition provides flash device data and can be used as NVMEM
device.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 .../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
+  - if:
+      not:
+        required: [ reg ]
+    then:
+      properties:
+        $nodename:
+          pattern: '^partition-.*$'
 
 # This is a generic file other binding inherit from and extend
 additionalProperties: true
-- 
2.35.3

Re: [PATCH] dt-bindings: mtd: partitions: make partition an NVMEM provider
Posted by Rob Herring 1 year, 11 months ago
On Thu, Jan 11, 2024 at 01:19:40PM +0100, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> 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@milecki.pl>
> ---
>  .../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
Re: [PATCH] dt-bindings: mtd: partitions: make partition an NVMEM provider
Posted by Rafał Miłecki 1 year, 11 months ago
Cc Srini & Greg (please keep them in loop in case or replies)

On 11.01.2024 13:19, Rafał Miłecki wrote:
> From: Rafał Miłecki <rafal@milecki.pl>
> 
> MTD partition provides flash device data and can be used as NVMEM
> device.
> 
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
>   .../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
> +  - if:
> +      not:
> +        required: [ reg ]
> +    then:
> +      properties:
> +        $nodename:
> +          pattern: '^partition-.*$'
>   
>   # This is a generic file other binding inherit from and extend
>   additionalProperties: true