diff options
author | Jingoo Han <jg1.han@samsung.com> | 2013-04-30 14:01:59 +0900 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2013-07-11 20:56:47 +0200 |
commit | a508e2e634f9ea462c3beb56e12aa50ba9e8b0a9 (patch) | |
tree | 63686684b9bc801c0fcb41f2a5cc2b098ae2dfff /drivers/watchdog | |
parent | 52ccc5aca4c9cf35974c1ea3b53fc43044b29361 (diff) | |
download | lwn-a508e2e634f9ea462c3beb56e12aa50ba9e8b0a9.tar.gz lwn-a508e2e634f9ea462c3beb56e12aa50ba9e8b0a9.zip |
watchdog: riowd: use devm_kzalloc()
Use devm_kzalloc() to make cleanup paths simpler.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r-- | 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 0040451aec1d..13363adc364f 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; } |