Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

power: supply: twl4030_madc: Use devm_power_supply_register() helper

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-22-afd@ti.com
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Andrew Davis and committed by
Sebastian Reichel
4c5d387d 8ac67534

+3 -12
+3 -12
drivers/power/supply/twl4030_madc_battery.c
··· 215 215 twl4030_cmp, NULL); 216 216 217 217 twl4030_madc_bat->pdata = pdata; 218 - platform_set_drvdata(pdev, twl4030_madc_bat); 219 218 psy_cfg.drv_data = twl4030_madc_bat; 220 - twl4030_madc_bat->psy = power_supply_register(&pdev->dev, 221 - &twl4030_madc_bat_desc, 222 - &psy_cfg); 219 + twl4030_madc_bat->psy = devm_power_supply_register(&pdev->dev, 220 + &twl4030_madc_bat_desc, 221 + &psy_cfg); 223 222 if (IS_ERR(twl4030_madc_bat->psy)) 224 223 return PTR_ERR(twl4030_madc_bat->psy); 225 224 226 225 return 0; 227 - } 228 - 229 - static void twl4030_madc_battery_remove(struct platform_device *pdev) 230 - { 231 - struct twl4030_madc_battery *bat = platform_get_drvdata(pdev); 232 - 233 - power_supply_unregister(bat->psy); 234 226 } 235 227 236 228 static struct platform_driver twl4030_madc_battery_driver = { ··· 230 238 .name = "twl4030_madc_battery", 231 239 }, 232 240 .probe = twl4030_madc_battery_probe, 233 - .remove_new = twl4030_madc_battery_remove, 234 241 }; 235 242 module_platform_driver(twl4030_madc_battery_driver); 236 243