]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
watchdog: cpwd: remove memory allocate failure message
authorAmit Kushwaha <akkushwaha9896@gmail.com>
Tue, 6 Dec 2016 18:19:48 +0000 (10:19 -0800)
committerGuenter Roeck <linux@roeck-us.net>
Fri, 16 Dec 2016 14:53:55 +0000 (06:53 -0800)
Replaced goto with a return statement and dropped the kfree()
calls because memory allocated with devm_kzalloc() is
automatically freed on driver detach

Signed-off-by: Amit Kushwaha <akkushwaha9896@gmail.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/watchdog/cpwd.c

index 71ee07950e630492a29f007cab84ddc04525cb69..3d43775548e59cda1966146897daa4b6d396b471 100644 (file)
@@ -538,12 +538,9 @@ static int cpwd_probe(struct platform_device *op)
        if (cpwd_device)
                return -EINVAL;
 
-       p = kzalloc(sizeof(*p), GFP_KERNEL);
-       err = -ENOMEM;
-       if (!p) {
-               pr_err("Unable to allocate struct cpwd\n");
-               goto out;
-       }
+       p = devm_kzalloc(&op->dev, sizeof(*p), GFP_KERNEL);
+       if (!p)
+               return -ENOMEM;
 
        p->irq = op->archdata.irqs[0];
 
@@ -553,12 +550,12 @@ static int cpwd_probe(struct platform_device *op)
                             4 * WD_TIMER_REGSZ, DRIVER_NAME);
        if (!p->regs) {
                pr_err("Unable to map registers\n");
-               goto out_free;
+               return -ENOMEM;
        }
 
        options = of_find_node_by_path("/options");
-       err = -ENODEV;
        if (!options) {
+               err = -ENODEV;
                pr_err("Unable to find /options node\n");
                goto out_iounmap;
        }
@@ -620,10 +617,7 @@ static int cpwd_probe(struct platform_device *op)
 
        platform_set_drvdata(op, p);
        cpwd_device = p;
-       err = 0;
-
-out:
-       return err;
+       return 0;
 
 out_unregister:
        for (i--; i >= 0; i--)
@@ -632,9 +626,7 @@ static int cpwd_probe(struct platform_device *op)
 out_iounmap:
        of_iounmap(&op->resource[0], p->regs, 4 * WD_TIMER_REGSZ);
 
-out_free:
-       kfree(p);
-       goto out;
+       return err;
 }
 
 static int cpwd_remove(struct platform_device *op)
@@ -659,7 +651,6 @@ static int cpwd_remove(struct platform_device *op)
                free_irq(p->irq, p);
 
        of_iounmap(&op->resource[0], p->regs, 4 * WD_TIMER_REGSZ);
-       kfree(p);
 
        cpwd_device = NULL;