|
@@ -192,6 +192,7 @@ static int twl4030_madc_battery_probe(struct platform_device *pdev)
|
|
|
{
|
|
|
struct twl4030_madc_battery *twl4030_madc_bat;
|
|
|
struct twl4030_madc_bat_platform_data *pdata = pdev->dev.platform_data;
|
|
|
+ int ret = 0;
|
|
|
|
|
|
twl4030_madc_bat = kzalloc(sizeof(*twl4030_madc_bat), GFP_KERNEL);
|
|
|
if (!twl4030_madc_bat)
|
|
@@ -216,9 +217,11 @@ static int twl4030_madc_battery_probe(struct platform_device *pdev)
|
|
|
|
|
|
twl4030_madc_bat->pdata = pdata;
|
|
|
platform_set_drvdata(pdev, twl4030_madc_bat);
|
|
|
- power_supply_register(&pdev->dev, &twl4030_madc_bat->psy);
|
|
|
+ ret = power_supply_register(&pdev->dev, &twl4030_madc_bat->psy);
|
|
|
+ if (ret < 0)
|
|
|
+ kfree(twl4030_madc_bat);
|
|
|
|
|
|
- return 0;
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
static int twl4030_madc_battery_remove(struct platform_device *pdev)
|