Re: [PATCH v2 00/17] Improve MTD bindings

From: Rob Herring
Date: Thu Nov 10 2022 - 12:04:17 EST


On Fri, Nov 04, 2022 at 05:47:01PM +0100, Miquel Raynal wrote:
> Hello,
>
> During a yaml conversion review, Krzysztof opened the discussion about
> the links and references made between the different files in the mtd
> bindings. I figured out some minimal changes might be needed to properly
> reference everything correctly and ensure we constrain as much as
> possible the existing bindings. That is what I tried to do here.
>
> The idea is:
> * partition.yaml defines one MTD partition
> * parsers/*.yaml define partition parsers (mainly compatibles)
> * mtd.yaml contains the generic definition of any mtd device (nand,
> spi-nand, spi-nor, nor, sram, etc), in particular, it defines the
> various partition formats (legacy and current) and references
> partition.yaml as well as a list of all the possible parsers within a
> "partitions" node.
> * nand-chip.yaml, jedec,spi-nor, mtd-physmap.yaml all describe real
> instances of mtd device, each of them with a different underlying
> technology, they reference mtd.yaml
> * nand-controller.yaml has subnodes which reference nand-chip.yaml.
> * Specific NAND controller bindings reference nand-controller.yaml.
>
> I've tested each and every patch with the following command and it
> worked fine:
> $ make dt_binding_check -j10 DT_CHECKER_FLAG=-m DT_SCHEMA_FILES=mtd/
>
> Comments welcome of course :-)
>
> Cheers,
> Miquèl
>
> Changes in v2:
> * Fixed all the missing references to partitions.txt.
> * Created a proper partitions.yaml file to cut the logic
> * Constrained #{address,size}-cells to 1 or 2.
> * Used the description advised by Rob to list all the possible partition
> parsers without having to actually duplicate the compatibles.
> * Deprecated the #{address,size}-cells properties when relevant.
> * Fixed a regex pattern to match all sram device node names (including
> ones defined under memory-controllers.
> * Added a comment on another "additionalProperties: true" situation.
> * Dropped even more duplicated properties.
> * Fixed a few typos (like s/phymap/physmap/).
> * Changed qcom,smem-part partition type.
> * Standardized the style in the various examples.
> * Improved the nvmem-cells file as well.
> * Added an example to the sunxi-nand bindings.
>
> Miquel Raynal (17):
> dt-bindings: mtd: Clarify all partition subnodes
> dt-bindings: mtd: Remove useless file about partitions
> dt-bindings: mtd: nand-chip: Reference mtd.yaml
> dt-bindings: mtd: nand: Drop common properties already defined in
> generic files
> dt-bindings: mtd: nand: Standardize the child node name
> dt-bindings: mtd: ingenic: Mark partitions in the controller node as
> deprecated
> dt-bindings: mtd: onenand: Mention the expected node name
> dt-bindings: mtd: sunxi-nand: Add an example to validate the bindings
> dt-bindings: mtd: spi-nor: Drop common properties
> dt-bindings: mtd: physmap: Reuse the generic definitions
> dt-bindings: mtd: partitions: Constrain the list of parsers
> dt-bindings: mtd: partitions: Change qcom,smem-part partition type
> dt-bindings: mtd: nvmem-cells: Fix example
> dt-bindings: mtd: nvmem-cells: Inherit from MTD partitions
> dt-bindings: mtd: Argue in favor of keeping additionalProperties set
> to true
> dt-bindings: mtd: Drop object types when referencing other files
> dt-bindings: mtd: Standardize the style in the examples

Other than my comment on patch 13, for the series:

Reviewed-by: Rob Herring <robh@xxxxxxxxxx>