This is now straightforward: just introduce a module parameter and pass
the needed value to persistent_ram_new().

Signed-off-by: Anton Vorontsov <[email protected]>
---
 fs/pstore/ram.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index cf0ad92..eeb4e32 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -61,6 +61,11 @@ module_param(dump_oops, int, 0600);
 MODULE_PARM_DESC(dump_oops,
                "set to 1 to dump oopses, 0 to only dump panics (default 1)");
 
+static int ramoops_ecc;
+module_param_named(ecc, ramoops_ecc, int, 0600);
+MODULE_PARM_DESC(ramoops_ecc,
+               "set to 1 to enable ECC support");
+
 struct ramoops_context {
        struct persistent_ram_zone **przs;
        phys_addr_t phys_addr;
@@ -251,7 +256,7 @@ static int __init ramoops_probe(struct platform_device 
*pdev)
                size_t sz = cxt->record_size;
                phys_addr_t start = cxt->phys_addr + sz * i;
 
-               cxt->przs[i] = persistent_ram_new(start, sz, 0);
+               cxt->przs[i] = persistent_ram_new(start, sz, ramoops_ecc);
                if (IS_ERR(cxt->przs[i])) {
                        err = PTR_ERR(cxt->przs[i]);
                        pr_err("failed to initialize a prz\n");
@@ -283,9 +288,10 @@ static int __init ramoops_probe(struct platform_device 
*pdev)
        record_size = pdata->record_size;
        dump_oops = pdata->dump_oops;
 
-       pr_info("attached 0x%lx@0x%llx (%ux0x%zx)\n",
+       pr_info("attached 0x%lx@0x%llx (%ux0x%zx), ecc: %s\n",
                cxt->size, (unsigned long long)cxt->phys_addr,
-               cxt->max_count, cxt->record_size);
+               cxt->max_count, cxt->record_size,
+               ramoops_ecc ? "on" : "off");
 
        return 0;
 
-- 
1.7.9.2
_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to