]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
staging: most: hdm-dim2: Replace kzalloc with devm_kzalloc
authorAmitoj Kaur Chawla <amitoj1606@gmail.com>
Thu, 18 Feb 2016 14:41:36 +0000 (20:11 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Feb 2016 23:02:06 +0000 (15:02 -0800)
Devm_ functions allocate memory that is released when a driver detaches.
Replace kzalloc with devm_kzalloc and remove corresponding
kfrees from probe and remove functions of a platform
device.

Also, an unnecessary label has been removed.

Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/most/hdm-dim2/dim2_hdm.c

index 6296aa5b6d8edb6d21e78053fb800ec4171c71f3..97db334e586713c264f08773d5f353ba0c166c60 100644 (file)
@@ -736,7 +736,7 @@ static int dim2_probe(struct platform_device *pdev)
        int ret, i;
        struct kobject *kobj;
 
-       dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+       dev = devm_kzalloc(&pdev->dev, sizeof(*dev), GFP_KERNEL);
        if (!dev)
                return -ENOMEM;
 
@@ -750,13 +750,13 @@ static int dim2_probe(struct platform_device *pdev)
        if (!res) {
                pr_err("no memory region defined\n");
                ret = -ENOENT;
-               goto err_free_dev;
+               return ret;
        }
 
        if (!request_mem_region(res->start, resource_size(res), pdev->name)) {
                pr_err("failed to request mem region\n");
                ret = -EBUSY;
-               goto err_free_dev;
+               return ret;
        }
 
        dev->io_base = ioremap(res->start, resource_size(res));
@@ -862,9 +862,7 @@ err_unmap_io:
        iounmap(dev->io_base);
 err_release_mem:
        release_mem_region(res->start, resource_size(res));
-err_free_dev:
 #endif
-       kfree(dev);
 
        return ret;
 }
@@ -897,7 +895,6 @@ static int dim2_remove(struct platform_device *pdev)
        iounmap(dev->io_base);
        release_mem_region(res->start, resource_size(res));
 #endif
-       kfree(dev);
        platform_set_drvdata(pdev, NULL);
 
        /*