Re: [PATCH v4 0/1] pstore/ram: add Device Tree bindings

From: Rob Herring
Date: Tue Jun 21 2016 - 16:41:36 EST


On Tue, Jun 14, 2016 at 09:40:47PM -0700, Kees Cook wrote:
> On Tue, Jun 14, 2016 at 2:59 PM, Rob Herring <robh@xxxxxxxxxx> wrote:
> > On Fri, Jun 10, 2016 at 03:50:58PM -0700, Kees Cook wrote:
> >> This is a "v4" of Greg Hackmann's DT bindings for ramoops. This is
> >> what I'm going to land in the pstore tree unless there are strong and
> >> convincing arguments against it. :)
> >>
> >> I made a number of changes based people's feedback, and I want to get
> >> it unblocked. This patch is already carried by Android, and it doesn't
> >> need to be out of tree.
> >>
> >> To respond to Arnd's comment: I like this as the ramoops node, not the
> >> pstore node, since it describes the ramoops backend, not the pstore
> >> subsystem, which has different controls, and can only have one backend
> >> at a time. So it doesn't make sense to me to have this have a redundant
> >> extra pstore node, since the very presence of ramoops implies pstore.
> >
> > Either I don't follow or you don't get Arnd's comment...
> >
> > IIRC, his suggestion which I agree with was to remove the memory-region
> > phandle and just move all the properties into the reserved memory node
> > directly. This simplifies things such that we are just describing
> > properties of a chunk of memory rather than a Linux specific node for
> > virtual driver.
>
> Ah! Okay, I'm a DT newbie, so I think I misunderstood Arnd. :) If it's
> easy, can you create a patch for that against the v4 I sent of Greg's
> patch? I'm not sure how to do what you're suggesting. :)

While I want to see this merged, I'm not going to get to anything soon.
So here's a DT example of what I mean. This will in addition need an
of_platform_populate call on the /reserved-memory node to get the
platform device created.

{/
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;

/* global autoconfigured region for contiguous allocations */
linux,cma {
compatible = "shared-dma-pool";
reusable;
size = <0x4000000>;
alignment = <0x2000>;
linux,cma-default;
};

ramoops@78000000 {
compatible = "ramoops";
reg = <0x78000000 0x8000>;
record-size = <0x4000>;
console-size = <0x4000>
};
};
};

Rob