Re: [PATCH 2/3] power: supply: wm97xx: Use devm_power_supply_register()

From: Sebastian Reichel

Date: Sun Jan 11 2026 - 20:36:56 EST


Hi,

On Sat, Dec 20, 2025 at 11:46:24PM +0100, Waqar Hameed wrote:
> 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);
> }

This free's prop before bat_psy. You fix that in the next patch, but
to be bisectable those two patches must be swapped.

Greetings,

-- Sebastian

Attachment: signature.asc
Description: PGP signature