diff mbox

[11/11] pstore/ram: Add ECC support

Message ID 20120512001857.GK14782@lizard
State New
Headers show

Commit Message

Anton Vorontsov May 12, 2012, 12:18 a.m. UTC
This is now straightforward: just introduce a module parameter and pass
the needed value to persistent_ram_new().

Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>
---
 fs/pstore/ram.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

Comments

Kees Cook May 14, 2012, 10:22 p.m. UTC | #1
On Fri, May 11, 2012 at 5:18 PM, Anton Vorontsov
<anton.vorontsov@linaro.org> wrote:
> This is now straightforward: just introduce a module parameter and pass
> the needed value to persistent_ram_new().
>
> Signed-off-by: Anton Vorontsov <anton.vorontsov@linaro.org>

Acked-by: Kees Cook <keescook@chromium.org>

> ---
>  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
diff mbox

Patch

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;