Signed-off-by: Lee Jones <[email protected]>
---
 drivers/mfd/asic3.c |   14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/drivers/mfd/asic3.c b/drivers/mfd/asic3.c
index 1b15986..9532f74 100644
--- a/drivers/mfd/asic3.c
+++ b/drivers/mfd/asic3.c
@@ -958,7 +958,8 @@ static int __init asic3_probe(struct platform_device *pdev)
        unsigned long clksel;
        int ret = 0;
 
-       asic = kzalloc(sizeof(struct asic3), GFP_KERNEL);
+       asic = devm_kzalloc(&pdev->dev,
+                           sizeof(struct asic3), GFP_KERNEL);
        if (asic == NULL) {
                printk(KERN_ERR "kzalloc failed\n");
                return -ENOMEM;
@@ -970,16 +971,14 @@ static int __init asic3_probe(struct platform_device 
*pdev)
 
        mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        if (!mem) {
-               ret = -ENOMEM;
                dev_err(asic->dev, "no MEM resource\n");
-               goto out_free;
+               return -ENOMEM;
        }
 
        asic->mapping = ioremap(mem->start, resource_size(mem));
        if (!asic->mapping) {
-               ret = -ENOMEM;
                dev_err(asic->dev, "Couldn't ioremap\n");
-               goto out_free;
+               return -ENOMEM;
        }
 
        asic->irq_base = pdata->irq_base;
@@ -1033,9 +1032,6 @@ static int __init asic3_probe(struct platform_device 
*pdev)
  out_unmap:
        iounmap(asic->mapping);
 
- out_free:
-       kfree(asic);
-
        return ret;
 }
 
@@ -1058,8 +1054,6 @@ static int asic3_remove(struct platform_device *pdev)
 
        iounmap(asic->mapping);
 
-       kfree(asic);
-
        return 0;
 }
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to