Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

power: supply: ds2760: 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-4-afd@ti.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Andrew Davis and committed by
Sebastian Reichel
88a72257 57261cda

+1 -3
+1 -3
drivers/power/supply/ds2760_battery.c
··· 739 739 if (current_accum) 740 740 ds2760_battery_set_current_accum(di, current_accum); 741 741 742 - di->bat = power_supply_register(dev, &di->bat_desc, &psy_cfg); 742 + di->bat = devm_power_supply_register(dev, &di->bat_desc, &psy_cfg); 743 743 if (IS_ERR(di->bat)) { 744 744 dev_err(di->dev, "failed to register battery\n"); 745 745 retval = PTR_ERR(di->bat); ··· 762 762 goto success; 763 763 764 764 workqueue_failed: 765 - power_supply_unregister(di->bat); 766 765 batt_failed: 767 766 di_alloc_failed: 768 767 success: ··· 776 777 cancel_delayed_work_sync(&di->monitor_work); 777 778 cancel_delayed_work_sync(&di->set_charged_work); 778 779 destroy_workqueue(di->monitor_wqueue); 779 - power_supply_unregister(di->bat); 780 780 } 781 781 782 782 #ifdef CONFIG_OF