On 9/11/2023 11:03 AM, Pavan Kondeti wrote:
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.
I have said in the cover-letter under changes in v5, it is open for
comment and not yet documented it yet.
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.
Sure, thanks for pointing this.
Agree, if we finally decide to keep it in arch/arm64 .
-Mukesh
Thanks,
Pavan