]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
power: supply: max14577: Use devm_power_supply_register() helper
authorAndrew Davis <afd@ti.com>
Mon, 29 Jan 2024 19:02:43 +0000 (13:02 -0600)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Thu, 1 Feb 2024 21:48:54 +0000 (22:48 +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/20240129190246.73067-2-afd@ti.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/max14577_charger.c

index 7c23fa89ea199702b945d5e83f6efabc6462c11e..b28c04157709a75881d63b73b0714e3b76433c48 100644 (file)
@@ -586,8 +586,9 @@ static int max14577_charger_probe(struct platform_device *pdev)
        }
 
        psy_cfg.drv_data = chg;
-       chg->charger = power_supply_register(&pdev->dev, &max14577_charger_desc,
-                                               &psy_cfg);
+       chg->charger = devm_power_supply_register(&pdev->dev,
+                                                 &max14577_charger_desc,
+                                                 &psy_cfg);
        if (IS_ERR(chg->charger)) {
                dev_err(&pdev->dev, "failed: power supply register\n");
                ret = PTR_ERR(chg->charger);
@@ -608,10 +609,7 @@ err:
 
 static void max14577_charger_remove(struct platform_device *pdev)
 {
-       struct max14577_charger *chg = platform_get_drvdata(pdev);
-
        device_remove_file(&pdev->dev, &dev_attr_fast_charge_timer);
-       power_supply_unregister(chg->charger);
 }
 
 static const struct platform_device_id max14577_charger_id[] = {