On Sun, Sep 10, 2023 at 01:46:10AM +0530, Mukesh Ojha wrote: > As dynamic ramoops command line parsing is now added, so > lets add the support in ramoops driver to get the resource > structure and add it during platform device registration. > > Signed-off-by: Mukesh Ojha <quic_mo...@quicinc.com> > --- > fs/pstore/ram.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) >
Documentation/admin-guide/ramoops.rst might need an update as well. > diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c > index 2f625e1fa8d8..e73fbbc1b5b5 100644 > --- a/fs/pstore/ram.c > +++ b/fs/pstore/ram.c > @@ -913,13 +913,17 @@ static void __init ramoops_register_dummy(void) > > /* > * Prepare a dummy platform data structure to carry the module > - * parameters. If mem_size isn't set, then there are no module > - * parameters, and we can skip this. > + * parameters. If mem_size isn't set, check for dynamic ramoops > + * size and extract the information if it is set. > */ > - if (!mem_size) > + if (!mem_size && !dyn_ramoops_res.end) > return; > > pr_info("using module parameters\n"); > + if (dyn_ramoops_res.end) { > + mem_size = resource_size(&dyn_ramoops_res); > + mem_address = dyn_ramoops_res.start; > + } > > memset(&pdata, 0, sizeof(pdata)); > pdata.mem_size = mem_size; You might want to add "arch_" prefix to dyn_ramoops resource so that it would be clear that it is coming from arch code. This code needs to guard against arch not supplying this. Thanks, Pavan