2013-04-29 09:36:13

by Jingoo Han

[permalink] [raw]
Subject: [PATCH RESEND 6/7] watchdog: riowd: use devm_kzalloc()

Use devm_kzalloc() to make cleanup paths simpler.

Signed-off-by: Jingoo Han <[email protected]>
---
drivers/watchdog/riowd.c | 8 ++------
1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/drivers/watchdog/riowd.c b/drivers/watchdog/riowd.c
index 0040451..13363ad 100644
--- a/drivers/watchdog/riowd.c
+++ b/drivers/watchdog/riowd.c
@@ -183,7 +183,7 @@ static int riowd_probe(struct platform_device *op)
goto out;

err = -ENOMEM;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = devm_kzalloc(&op->dev, sizeof(*p), GFP_KERNEL);
if (!p)
goto out;

@@ -192,7 +192,7 @@ static int riowd_probe(struct platform_device *op)
p->regs = of_ioremap(&op->resource[0], 0, 2, DRIVER_NAME);
if (!p->regs) {
pr_err("Cannot map registers\n");
- goto out_free;
+ goto out;
}
/* Make miscdev useable right away */
riowd_device = p;
@@ -213,9 +213,6 @@ out_iounmap:
riowd_device = NULL;
of_iounmap(&op->resource[0], p->regs, 2);

-out_free:
- kfree(p);
-
out:
return err;
}
@@ -226,7 +223,6 @@ static int riowd_remove(struct platform_device *op)

misc_deregister(&riowd_miscdev);
of_iounmap(&op->resource[0], p->regs, 2);
- kfree(p);

return 0;
}
--
1.7.2.5


2013-04-29 18:07:56

by Guenter Roeck

[permalink] [raw]
Subject: Re: [PATCH RESEND 6/7] watchdog: riowd: use devm_kzalloc()

On Mon, Apr 29, 2013 at 06:36:09PM +0900, Jingoo Han wrote:
> Use devm_kzalloc() to make cleanup paths simpler.
>
> Signed-off-by: Jingoo Han <[email protected]>
> ---
> drivers/watchdog/riowd.c | 8 ++------
> 1 files changed, 2 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/watchdog/riowd.c b/drivers/watchdog/riowd.c
> index 0040451..13363ad 100644
> --- a/drivers/watchdog/riowd.c
> +++ b/drivers/watchdog/riowd.c
> @@ -183,7 +183,7 @@ static int riowd_probe(struct platform_device *op)
> goto out;
>
> err = -ENOMEM;
> - p = kzalloc(sizeof(*p), GFP_KERNEL);
> + p = devm_kzalloc(&op->dev, sizeof(*p), GFP_KERNEL);
> if (!p)
> goto out;
>
That goto is really unnecessary. Just return -ENOMEM and drop the label.
Though that is really another logical change and should be done separately,
so

Reviewed-by: Guenter Roeck <[email protected]>

> @@ -192,7 +192,7 @@ static int riowd_probe(struct platform_device *op)
> p->regs = of_ioremap(&op->resource[0], 0, 2, DRIVER_NAME);
> if (!p->regs) {
> pr_err("Cannot map registers\n");
> - goto out_free;
> + goto out;
> }
> /* Make miscdev useable right away */
> riowd_device = p;
> @@ -213,9 +213,6 @@ out_iounmap:
> riowd_device = NULL;
> of_iounmap(&op->resource[0], p->regs, 2);
>
> -out_free:
> - kfree(p);
> -
> out:
> return err;
> }
> @@ -226,7 +223,6 @@ static int riowd_remove(struct platform_device *op)
>
> misc_deregister(&riowd_miscdev);
> of_iounmap(&op->resource[0], p->regs, 2);
> - kfree(p);
>
> return 0;
> }
> --
> 1.7.2.5
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-watchdog" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>