power: supply: da9030: Use devm_power_supply_register() helper
authorAndrew Davis <afd@ti.com>
Tue, 23 Jan 2024 16:36:33 +0000 (10:36 -0600)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Sat, 27 Jan 2024 00:23:40 +0000 (01:23 +0100)
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-2-afd@ti.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/da9030_battery.c

index 581cf956d2d25811ee03fd7f0e7a4dfae0067a24..04e0f4162d42b82bb4bb45beedf1cf7e346f3aae 100644 (file)
@@ -530,8 +530,9 @@ static int da9030_battery_probe(struct platform_device *pdev)
 
        da9030_battery_setup_psy(charger);
        psy_cfg.drv_data = charger;
-       charger->psy = power_supply_register(&pdev->dev, &charger->psy_desc,
-                                            &psy_cfg);
+       charger->psy = devm_power_supply_register(&pdev->dev,
+                                                 &charger->psy_desc,
+                                                 &psy_cfg);
        if (IS_ERR(charger->psy)) {
                ret = PTR_ERR(charger->psy);
                goto err_ps_register;
@@ -563,7 +564,6 @@ static void da9030_battery_remove(struct platform_device *dev)
                                   DA9030_EVENT_CHIOVER | DA9030_EVENT_TBAT);
        cancel_delayed_work_sync(&charger->work);
        da9030_set_charge(charger, 0);
-       power_supply_unregister(charger->psy);
 }
 
 static struct platform_driver da903x_battery_driver = {