Merge tag 'for-linus-20130509' of git://git.infradead.org/linux-mtd
[linux-2.6-microblaze.git] / drivers / power / wm831x_backup.c
index d9cc169..58cbb00 100644 (file)
@@ -169,7 +169,8 @@ static int wm831x_backup_probe(struct platform_device *pdev)
        struct power_supply *backup;
        int ret;
 
-       devdata = kzalloc(sizeof(struct wm831x_backup), GFP_KERNEL);
+       devdata = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_backup),
+                               GFP_KERNEL);
        if (devdata == NULL)
                return -ENOMEM;
 
@@ -197,14 +198,8 @@ static int wm831x_backup_probe(struct platform_device *pdev)
        backup->num_properties = ARRAY_SIZE(wm831x_backup_props);
        backup->get_property = wm831x_backup_get_prop;
        ret = power_supply_register(&pdev->dev, backup);
-       if (ret)
-               goto err_kmalloc;
 
        return ret;
-
-err_kmalloc:
-       kfree(devdata);
-       return ret;
 }
 
 static int wm831x_backup_remove(struct platform_device *pdev)
@@ -213,7 +208,6 @@ static int wm831x_backup_remove(struct platform_device *pdev)
 
        power_supply_unregister(&devdata->backup);
        kfree(devdata->backup.name);
-       kfree(devdata);
 
        return 0;
 }