watchdog: riowd: use devm_kzalloc()
authorJingoo Han <jg1.han@samsung.com>
Tue, 30 Apr 2013 05:01:59 +0000 (14:01 +0900)
committerWim Van Sebroeck <wim@iguana.be>
Thu, 11 Jul 2013 18:56:47 +0000 (20:56 +0200)
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>
drivers/watchdog/riowd.c

index 0040451aec1dbd1d1542631072e3e4c0cb71719c..13363adc364f4e54515f7c7ff0b70355ecd47887 100644 (file)
@@ -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;
 }