power: supply: lp8788: Use devm_power_supply_register() helper
Use the device lifecycle managed register function. This helps prevent mistakes like unregistering out of order in cleanup functions and forgetting to unregister on error paths. Signed-off-by: Andrew Davis <afd@ti.com> Link: https://lore.kernel.org/r/20240123163653.384385-7-afd@ti.com Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
This commit is contained in:
parent
3b4d07fdaf
commit
2abb571143
@ -406,12 +406,6 @@ static const struct power_supply_desc lp8788_psy_battery_desc = {
|
||||
.get_property = lp8788_battery_get_property,
|
||||
};
|
||||
|
||||
static void lp8788_psy_unregister(struct lp8788_charger *pchg)
|
||||
{
|
||||
power_supply_unregister(pchg->battery);
|
||||
power_supply_unregister(pchg->charger);
|
||||
}
|
||||
|
||||
static void lp8788_charger_event(struct work_struct *work)
|
||||
{
|
||||
struct lp8788_charger *pchg =
|
||||
@ -666,18 +660,16 @@ static int lp8788_psy_register(struct platform_device *pdev,
|
||||
charger_cfg.supplied_to = battery_supplied_to;
|
||||
charger_cfg.num_supplicants = ARRAY_SIZE(battery_supplied_to);
|
||||
|
||||
pchg->charger = power_supply_register(&pdev->dev,
|
||||
&lp8788_psy_charger_desc,
|
||||
&charger_cfg);
|
||||
pchg->charger = devm_power_supply_register(&pdev->dev,
|
||||
&lp8788_psy_charger_desc,
|
||||
&charger_cfg);
|
||||
if (IS_ERR(pchg->charger))
|
||||
return -EPERM;
|
||||
|
||||
pchg->battery = power_supply_register(&pdev->dev,
|
||||
&lp8788_psy_battery_desc, NULL);
|
||||
if (IS_ERR(pchg->battery)) {
|
||||
power_supply_unregister(pchg->charger);
|
||||
pchg->battery = devm_power_supply_register(&pdev->dev,
|
||||
&lp8788_psy_battery_desc, NULL);
|
||||
if (IS_ERR(pchg->battery))
|
||||
return -EPERM;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -720,7 +712,6 @@ static void lp8788_charger_remove(struct platform_device *pdev)
|
||||
|
||||
flush_work(&pchg->charger_work);
|
||||
lp8788_irq_unregister(pdev, pchg);
|
||||
lp8788_psy_unregister(pchg);
|
||||
}
|
||||
|
||||
static struct platform_driver lp8788_charger_driver = {
|
||||
|
Loading…
x
Reference in New Issue
Block a user