Commit b0280d05 authored by Lubomir Rintel's avatar Lubomir Rintel Committed by Sebastian Reichel
Browse files

power: supply: olpc_battery: Use devm_power_supply_register()



This simplifies the error handling.

Signed-off-by: default avatarLubomir Rintel <lkundrak@v3.sk>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent 33554d81
Loading
Loading
Loading
Loading
+5 −14
Original line number Original line Diff line number Diff line
@@ -634,7 +634,7 @@ static int olpc_battery_probe(struct platform_device *pdev)
	psy_cfg.of_node = pdev->dev.of_node;
	psy_cfg.of_node = pdev->dev.of_node;
	psy_cfg.drv_data = data;
	psy_cfg.drv_data = data;


	data->olpc_ac = power_supply_register(&pdev->dev, &olpc_ac_desc, &psy_cfg);
	data->olpc_ac = devm_power_supply_register(&pdev->dev, &olpc_ac_desc, &psy_cfg);
	if (IS_ERR(data->olpc_ac))
	if (IS_ERR(data->olpc_ac))
		return PTR_ERR(data->olpc_ac);
		return PTR_ERR(data->olpc_ac);


@@ -648,15 +648,13 @@ static int olpc_battery_probe(struct platform_device *pdev)
		olpc_bat_desc.num_properties = ARRAY_SIZE(olpc_xo1_bat_props);
		olpc_bat_desc.num_properties = ARRAY_SIZE(olpc_xo1_bat_props);
	}
	}


	data->olpc_bat = power_supply_register(&pdev->dev, &olpc_bat_desc, &psy_cfg);
	data->olpc_bat = devm_power_supply_register(&pdev->dev, &olpc_bat_desc, &psy_cfg);
	if (IS_ERR(data->olpc_bat)) {
	if (IS_ERR(data->olpc_bat))
		ret = PTR_ERR(data->olpc_bat);
		return PTR_ERR(data->olpc_bat);
		goto battery_failed;
	}


	ret = device_create_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom);
	ret = device_create_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom);
	if (ret)
	if (ret)
		goto eeprom_failed;
		return ret;


	ret = device_create_file(&data->olpc_bat->dev, &olpc_bat_error);
	ret = device_create_file(&data->olpc_bat->dev, &olpc_bat_error);
	if (ret)
	if (ret)
@@ -671,10 +669,6 @@ static int olpc_battery_probe(struct platform_device *pdev)


error_failed:
error_failed:
	device_remove_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom);
	device_remove_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom);
eeprom_failed:
	power_supply_unregister(data->olpc_bat);
battery_failed:
	power_supply_unregister(data->olpc_ac);
	return ret;
	return ret;
}
}


@@ -684,9 +678,6 @@ static int olpc_battery_remove(struct platform_device *pdev)


	device_remove_file(&data->olpc_bat->dev, &olpc_bat_error);
	device_remove_file(&data->olpc_bat->dev, &olpc_bat_error);
	device_remove_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom);
	device_remove_bin_file(&data->olpc_bat->dev, &olpc_bat_eeprom);
	power_supply_unregister(data->olpc_bat);
	power_supply_unregister(data->olpc_ac);

	return 0;
	return 0;
}
}