Re: [PATCH v5 09/17] pstore/ram: Use dynamic ramoops reserve resource

From: Pavan Kondeti
Date: Mon Sep 11 2023 - 01:34:08 EST


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_mojha@xxxxxxxxxxx>
> ---
> 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