We can remove the kfree() calls from probe and remove.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Sekhar Nori <nsekhar@ti.com>
        struct resource *res;
        int ret;
 
-       l3 = kzalloc(sizeof(*l3), GFP_KERNEL);
+       l3 = devm_kzalloc(&pdev->dev, sizeof(*l3), GFP_KERNEL);
        if (!l3)
                return -ENOMEM;
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!res) {
                dev_err(&pdev->dev, "couldn't find resource 0\n");
-               ret = -ENODEV;
-               goto err0;
+               return -ENODEV;
        }
 
        l3->l3_base[0] = ioremap(res->start, resource_size(res));
        if (!l3->l3_base[0]) {
                dev_err(&pdev->dev, "ioremap failed\n");
-               ret = -ENOMEM;
-               goto err0;
+               return -ENOMEM;
        }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
        iounmap(l3->l3_base[1]);
 err1:
        iounmap(l3->l3_base[0]);
-err0:
-       kfree(l3);
        return ret;
 }
 
        iounmap(l3->l3_base[0]);
        iounmap(l3->l3_base[1]);
        iounmap(l3->l3_base[2]);
-       kfree(l3);
 
        return 0;
 }