|
@@ -755,11 +755,9 @@ static int __devinit ds2781_battery_probe(struct platform_device *pdev)
|
|
|
int ret = 0;
|
|
|
struct ds2781_device_info *dev_info;
|
|
|
|
|
|
- dev_info = kzalloc(sizeof(*dev_info), GFP_KERNEL);
|
|
|
- if (!dev_info) {
|
|
|
- ret = -ENOMEM;
|
|
|
- goto fail;
|
|
|
- }
|
|
|
+ dev_info = devm_kzalloc(&pdev->dev, sizeof(*dev_info), GFP_KERNEL);
|
|
|
+ if (!dev_info)
|
|
|
+ return -ENOMEM;
|
|
|
|
|
|
platform_set_drvdata(pdev, dev_info);
|
|
|
|
|
@@ -774,7 +772,7 @@ static int __devinit ds2781_battery_probe(struct platform_device *pdev)
|
|
|
ret = power_supply_register(&pdev->dev, &dev_info->bat);
|
|
|
if (ret) {
|
|
|
dev_err(dev_info->dev, "failed to register battery\n");
|
|
|
- goto fail_free_info;
|
|
|
+ goto fail;
|
|
|
}
|
|
|
|
|
|
ret = sysfs_create_group(&dev_info->bat.dev->kobj, &ds2781_attr_group);
|
|
@@ -808,8 +806,6 @@ fail_remove_group:
|
|
|
sysfs_remove_group(&dev_info->bat.dev->kobj, &ds2781_attr_group);
|
|
|
fail_unregister:
|
|
|
power_supply_unregister(&dev_info->bat);
|
|
|
-fail_free_info:
|
|
|
- kfree(dev_info);
|
|
|
fail:
|
|
|
return ret;
|
|
|
}
|
|
@@ -823,7 +819,6 @@ static int __devexit ds2781_battery_remove(struct platform_device *pdev)
|
|
|
|
|
|
power_supply_unregister(&dev_info->bat);
|
|
|
|
|
|
- kfree(dev_info);
|
|
|
return 0;
|
|
|
}
|
|
|
|