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 > --- > 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