Re: [PATCH v2 06/29] mtd: Add support for reading MTD devices via the nvmem API

From: Alban
Date: Tue Aug 21 2018 - 07:40:43 EST


On Tue, 21 Aug 2018 10:50:07 +0100
Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> wrote:

> Just curious...Is there a reason why we can't do it like this?:
> Is this because of issue of #address-cells and #size-cells Or mtd
> bindings always prefer subnodes?
>
> mtdnode {
> reg = <0x0123000 0x40000>;
> #address-cells = <1>;
> #size-cells = <1>;
> cell@0 {
> compatible = "nvmem-cell";
> reg = <0x0 0x14>;
> };
>
> partitions {
> compatible = "fixed-partitions";
> #address-cells = <1>;
> #size-cells = <1>;
>
> partition@0 {
> reg = <0x0 0x20000>;
> cell@0 {
> compatible = "nvmem-cell";
> reg = <0x0 0x10>;
> };
> };
> };
> };

That would work, the MTD partitions parser ignore child nodes with a
compatible string when looking for "old style" partitions, see [1].
However we still have the a potential address space clash between the
nvmem cells and the main device binding.

Alban

[1]: https://elixir.bootlin.com/linux/latest/source/drivers/mtd/ofpart.c#L28

Attachment: pgpQKYUvb8nnq.pgp
Description: OpenPGP digital signature