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

From: Boris Brezillon
Date: Fri Aug 24 2018 - 10:39:29 EST


On Thu, 23 Aug 2018 12:29:21 +0200
Alban <albeu@xxxxxxx> wrote:

> On Tue, 21 Aug 2018 15:01:21 +0200
> Boris Brezillon <boris.brezillon@xxxxxxxxxxx> wrote:
>
> > On Tue, 21 Aug 2018 13:00:04 +0100
> > Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> wrote:
> >
> > > On 21/08/18 12:39, Alban wrote:
> > > > However we still have the a potential address space clash between
> > > > the nvmem cells and the main device binding.
> > > Can you elaborate?
> > >
> >
> > Yes, I'd be interested in having a real example too, cause I don't see
> > what this address space clash is.
>
> Let say I have a device that use the following binding:
>
> device {
> compatible = "example-device";
> #address-cells = <2>;
> #size-cells = <1>;
>
> child@0,0 {
> reg = <0x0 0x0>;
> ...
> };
>
> child@1,2 {
> reg = <0x1 0x2>;
> ...
> };
>
> };
>
> Now this binding already use the node address space for something,
> so putting a nvmem node as direct child would not work. Here it is
> quiet clear as we have 2 address cells, however even if the number of
> cells and the cells size would match it would still be conceptually
> wrong as both bindings then use the same address space for something
> different.

When would we end up in this situation? MTD/flash nodes are supposed to
be leaf nodes (if you omit the partitions underneath). What would be
the case for defining subnodes there?

Do you know of any devices that uses such a representation?