[PATCH 2/3] power: supply: wm97xx: Use devm_power_supply_register()
From: Waqar Hameed
Date: Sat Dec 20 2025 - 17:46:31 EST
Instead of handling the registration manually, use the automatic
`devres` variant `devm_power_supply_register()`. This is less error
prone and cleaner.
Signed-off-by: Waqar Hameed <waqar.hameed@xxxxxxxx>
---
drivers/power/supply/wm97xx_battery.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/power/supply/wm97xx_battery.c b/drivers/power/supply/wm97xx_battery.c
index f00722c88c6fe..e91467dcab19c 100644
--- a/drivers/power/supply/wm97xx_battery.c
+++ b/drivers/power/supply/wm97xx_battery.c
@@ -223,7 +223,7 @@ static int wm97xx_bat_probe(struct platform_device *dev)
bat_psy_desc.properties = prop;
bat_psy_desc.num_properties = props;
- bat_psy = power_supply_register(&dev->dev, &bat_psy_desc, &cfg);
+ bat_psy = devm_power_supply_register(&dev->dev, &bat_psy_desc, &cfg);
if (!IS_ERR(bat_psy)) {
schedule_work(&bat_work);
} else {
@@ -237,15 +237,12 @@ static int wm97xx_bat_probe(struct platform_device *dev)
if (ret) {
dev_err_probe(&dev->dev, ret,
"failed to request GPIO irq\n");
- goto unregister;
+ goto free;
}
}
return 0;
-unregister:
- power_supply_unregister(bat_psy);
-
free:
kfree(prop);
@@ -257,7 +254,6 @@ static void wm97xx_bat_remove(struct platform_device *dev)
if (charge_gpiod)
free_irq(gpiod_to_irq(charge_gpiod), dev);
cancel_work_sync(&bat_work);
- power_supply_unregister(bat_psy);
kfree(prop);
}
--
2.39.5