mfd: asic3: Convert to managed resources for allocating memory
authorLee Jones <lee.jones@linaro.org>
Thu, 23 May 2013 15:25:09 +0000 (16:25 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Thu, 13 Jun 2013 10:11:41 +0000 (12:11 +0200)
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/asic3.c

index 1b15986..9532f74 100644 (file)
@@ -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;
 }