2024-01-29 19:03:15

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v2 0/4] Power supply register with devm

Hello all,

These are the 4 patches that had "unused variable" warnings (thanks kernel
test robot). Fixed the warnings and rebased on -next so all taken patches
from v1 are dropped.

Thanks,
Andrew

Andrew Davis (4):
power: supply: max14577: Use devm_power_supply_register() helper
power: supply: max77693: Use devm_power_supply_register() helper
power: supply: max8925: Use devm_power_supply_register() helper
power: supply: wm8350: Use devm_power_supply_register() helper

drivers/power/supply/max14577_charger.c | 8 ++----
drivers/power/supply/max77693_charger.c | 10 ++-----
drivers/power/supply/max8925_power.c | 37 +++++++------------------
drivers/power/supply/wm8350_power.c | 30 +++++---------------
4 files changed, 23 insertions(+), 62 deletions(-)

--
2.39.2



2024-01-29 19:03:23

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v2 2/4] power: supply: max77693: 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 <[email protected]>
---
drivers/power/supply/max77693_charger.c | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/power/supply/max77693_charger.c b/drivers/power/supply/max77693_charger.c
index d0157e63b8b50..2001e12c9f7de 100644
--- a/drivers/power/supply/max77693_charger.c
+++ b/drivers/power/supply/max77693_charger.c
@@ -709,9 +709,9 @@ static int max77693_charger_probe(struct platform_device *pdev)
goto err;
}

- chg->charger = power_supply_register(&pdev->dev,
- &max77693_charger_desc,
- &psy_cfg);
+ chg->charger = devm_power_supply_register(&pdev->dev,
+ &max77693_charger_desc,
+ &psy_cfg);
if (IS_ERR(chg->charger)) {
dev_err(&pdev->dev, "failed: power supply register\n");
ret = PTR_ERR(chg->charger);
@@ -730,13 +730,9 @@ static int max77693_charger_probe(struct platform_device *pdev)

static void max77693_charger_remove(struct platform_device *pdev)
{
- struct max77693_charger *chg = platform_get_drvdata(pdev);
-
device_remove_file(&pdev->dev, &dev_attr_top_off_timer);
device_remove_file(&pdev->dev, &dev_attr_top_off_threshold_current);
device_remove_file(&pdev->dev, &dev_attr_fast_charge_timer);
-
- power_supply_unregister(chg->charger);
}

static const struct platform_device_id max77693_charger_id[] = {
--
2.39.2


2024-01-29 19:03:46

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v2 3/4] power: supply: max8925: 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 <[email protected]>
---
drivers/power/supply/max8925_power.c | 37 ++++++++--------------------
1 file changed, 10 insertions(+), 27 deletions(-)

diff --git a/drivers/power/supply/max8925_power.c b/drivers/power/supply/max8925_power.c
index 4a2d6894f94ee..621a006d52a96 100644
--- a/drivers/power/supply/max8925_power.c
+++ b/drivers/power/supply/max8925_power.c
@@ -507,7 +507,6 @@ static int max8925_power_probe(struct platform_device *pdev)
struct power_supply_config psy_cfg = {}; /* Only for ac and usb */
struct max8925_power_pdata *pdata = NULL;
struct max8925_power_info *info;
- int ret;

pdata = max8925_power_dt_init(pdev);
if (!pdata) {
@@ -528,25 +527,19 @@ static int max8925_power_probe(struct platform_device *pdev)
psy_cfg.supplied_to = pdata->supplied_to;
psy_cfg.num_supplicants = pdata->num_supplicants;

- info->ac = power_supply_register(&pdev->dev, &ac_desc, &psy_cfg);
- if (IS_ERR(info->ac)) {
- ret = PTR_ERR(info->ac);
- goto out;
- }
+ info->ac = devm_power_supply_register(&pdev->dev, &ac_desc, &psy_cfg);
+ if (IS_ERR(info->ac))
+ return PTR_ERR(info->ac);
info->ac->dev.parent = &pdev->dev;

- info->usb = power_supply_register(&pdev->dev, &usb_desc, &psy_cfg);
- if (IS_ERR(info->usb)) {
- ret = PTR_ERR(info->usb);
- goto out_unregister_ac;
- }
+ info->usb = devm_power_supply_register(&pdev->dev, &usb_desc, &psy_cfg);
+ if (IS_ERR(info->usb))
+ return PTR_ERR(info->usb);
info->usb->dev.parent = &pdev->dev;

- info->battery = power_supply_register(&pdev->dev, &battery_desc, NULL);
- if (IS_ERR(info->battery)) {
- ret = PTR_ERR(info->battery);
- goto out_unregister_usb;
- }
+ info->battery = devm_power_supply_register(&pdev->dev, &battery_desc, NULL);
+ if (IS_ERR(info->battery))
+ return PTR_ERR(info->battery);
info->battery->dev.parent = &pdev->dev;

info->batt_detect = pdata->batt_detect;
@@ -558,24 +551,14 @@ static int max8925_power_probe(struct platform_device *pdev)

max8925_init_charger(chip, info);
return 0;
-out_unregister_usb:
- power_supply_unregister(info->usb);
-out_unregister_ac:
- power_supply_unregister(info->ac);
-out:
- return ret;
}

static void max8925_power_remove(struct platform_device *pdev)
{
struct max8925_power_info *info = platform_get_drvdata(pdev);

- if (info) {
- power_supply_unregister(info->ac);
- power_supply_unregister(info->usb);
- power_supply_unregister(info->battery);
+ if (info)
max8925_deinit_charger(info);
- }
}

static struct platform_driver max8925_power_driver = {
--
2.39.2


2024-01-29 19:03:52

by Andrew Davis

[permalink] [raw]
Subject: [PATCH v2 4/4] power: supply: wm8350: 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 <[email protected]>
---
drivers/power/supply/wm8350_power.c | 30 +++++++----------------------
1 file changed, 7 insertions(+), 23 deletions(-)

diff --git a/drivers/power/supply/wm8350_power.c b/drivers/power/supply/wm8350_power.c
index f23b4f5343bc1..3f79ab6f6abf1 100644
--- a/drivers/power/supply/wm8350_power.c
+++ b/drivers/power/supply/wm8350_power.c
@@ -540,22 +540,17 @@ static int wm8350_power_probe(struct platform_device *pdev)
struct wm8350_charger_policy *policy = power->policy;
int ret;

- power->ac = power_supply_register(&pdev->dev, &wm8350_ac_desc, NULL);
+ power->ac = devm_power_supply_register(&pdev->dev, &wm8350_ac_desc, NULL);
if (IS_ERR(power->ac))
return PTR_ERR(power->ac);

- power->battery = power_supply_register(&pdev->dev, &wm8350_battery_desc,
- NULL);
- if (IS_ERR(power->battery)) {
- ret = PTR_ERR(power->battery);
- goto battery_failed;
- }
+ power->battery = devm_power_supply_register(&pdev->dev, &wm8350_battery_desc, NULL);
+ if (IS_ERR(power->battery))
+ return PTR_ERR(power->battery);

- power->usb = power_supply_register(&pdev->dev, &wm8350_usb_desc, NULL);
- if (IS_ERR(power->usb)) {
- ret = PTR_ERR(power->usb);
- goto usb_failed;
- }
+ power->usb = devm_power_supply_register(&pdev->dev, &wm8350_usb_desc, NULL);
+ if (IS_ERR(power->usb))
+ return PTR_ERR(power->usb);

ret = device_create_file(&pdev->dev, &dev_attr_charger_state);
if (ret < 0)
@@ -569,26 +564,15 @@ static int wm8350_power_probe(struct platform_device *pdev)
wm8350_reg_lock(wm8350);
}

- return ret;
-
-usb_failed:
- power_supply_unregister(power->battery);
-battery_failed:
- power_supply_unregister(power->ac);
-
return ret;
}

static void wm8350_power_remove(struct platform_device *pdev)
{
struct wm8350 *wm8350 = platform_get_drvdata(pdev);
- struct wm8350_power *power = &wm8350->power;

free_charger_irq(wm8350);
device_remove_file(&pdev->dev, &dev_attr_charger_state);
- power_supply_unregister(power->battery);
- power_supply_unregister(power->ac);
- power_supply_unregister(power->usb);
}

static struct platform_driver wm8350_power_driver = {
--
2.39.2


2024-02-01 22:02:59

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH v2 0/4] Power supply register with devm


On Mon, 29 Jan 2024 13:02:42 -0600, Andrew Davis wrote:
> These are the 4 patches that had "unused variable" warnings (thanks kernel
> test robot). Fixed the warnings and rebased on -next so all taken patches
> from v1 are dropped.
>
> Thanks,
> Andrew
>
> [...]

Applied, thanks!

[1/4] power: supply: max14577: Use devm_power_supply_register() helper
commit: 99ae075684be3a84a9c20d9541259221d2c01fc8
[2/4] power: supply: max77693: Use devm_power_supply_register() helper
commit: aed93a83a01211270feed78aa5dd5f2d2c76ff82
[3/4] power: supply: max8925: Use devm_power_supply_register() helper
commit: 478a253e466570c4f02cbd7c9386f29dffe4375d
[4/4] power: supply: wm8350: Use devm_power_supply_register() helper
commit: cad1e6df54ca6231a3d1217bc4231d1a7eadbc0c

Best regards,
--
Sebastian Reichel <[email protected]>