linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] Power supply register with devm
@ 2024-01-29 19:02 Andrew Davis
  2024-01-29 19:02 ` [PATCH v2 1/4] power: supply: max14577: Use devm_power_supply_register() helper Andrew Davis
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Andrew Davis @ 2024-01-29 19:02 UTC (permalink / raw)
  To: Sebastian Reichel, Support Opensource, Krzysztof Kozlowski
  Cc: linux-pm, linux-kernel, Andrew Davis

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH v2 1/4] power: supply: max14577: Use devm_power_supply_register() helper
  2024-01-29 19:02 [PATCH v2 0/4] Power supply register with devm Andrew Davis
@ 2024-01-29 19:02 ` Andrew Davis
  2024-01-29 19:02 ` [PATCH v2 2/4] power: supply: max77693: " Andrew Davis
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Andrew Davis @ 2024-01-29 19:02 UTC (permalink / raw)
  To: Sebastian Reichel, Support Opensource, Krzysztof Kozlowski
  Cc: linux-pm, linux-kernel, Andrew Davis

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>
---
 drivers/power/supply/max14577_charger.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/power/supply/max14577_charger.c b/drivers/power/supply/max14577_charger.c
index 7c23fa89ea199..b28c04157709a 100644
--- a/drivers/power/supply/max14577_charger.c
+++ b/drivers/power/supply/max14577_charger.c
@@ -586,8 +586,9 @@ static int max14577_charger_probe(struct platform_device *pdev)
 	}
 
 	psy_cfg.drv_data = chg;
-	chg->charger = power_supply_register(&pdev->dev, &max14577_charger_desc,
-						&psy_cfg);
+	chg->charger = devm_power_supply_register(&pdev->dev,
+						  &max14577_charger_desc,
+						  &psy_cfg);
 	if (IS_ERR(chg->charger)) {
 		dev_err(&pdev->dev, "failed: power supply register\n");
 		ret = PTR_ERR(chg->charger);
@@ -608,10 +609,7 @@ static int max14577_charger_probe(struct platform_device *pdev)
 
 static void max14577_charger_remove(struct platform_device *pdev)
 {
-	struct max14577_charger *chg = platform_get_drvdata(pdev);
-
 	device_remove_file(&pdev->dev, &dev_attr_fast_charge_timer);
-	power_supply_unregister(chg->charger);
 }
 
 static const struct platform_device_id max14577_charger_id[] = {
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 2/4] power: supply: max77693: Use devm_power_supply_register() helper
  2024-01-29 19:02 [PATCH v2 0/4] Power supply register with devm Andrew Davis
  2024-01-29 19:02 ` [PATCH v2 1/4] power: supply: max14577: Use devm_power_supply_register() helper Andrew Davis
@ 2024-01-29 19:02 ` Andrew Davis
  2024-01-29 19:02 ` [PATCH v2 3/4] power: supply: max8925: " Andrew Davis
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Andrew Davis @ 2024-01-29 19:02 UTC (permalink / raw)
  To: Sebastian Reichel, Support Opensource, Krzysztof Kozlowski
  Cc: linux-pm, linux-kernel, Andrew Davis

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 3/4] power: supply: max8925: Use devm_power_supply_register() helper
  2024-01-29 19:02 [PATCH v2 0/4] Power supply register with devm Andrew Davis
  2024-01-29 19:02 ` [PATCH v2 1/4] power: supply: max14577: Use devm_power_supply_register() helper Andrew Davis
  2024-01-29 19:02 ` [PATCH v2 2/4] power: supply: max77693: " Andrew Davis
@ 2024-01-29 19:02 ` Andrew Davis
  2024-01-29 19:02 ` [PATCH v2 4/4] power: supply: wm8350: " Andrew Davis
  2024-02-01 21:51 ` [PATCH v2 0/4] Power supply register with devm Sebastian Reichel
  4 siblings, 0 replies; 6+ messages in thread
From: Andrew Davis @ 2024-01-29 19:02 UTC (permalink / raw)
  To: Sebastian Reichel, Support Opensource, Krzysztof Kozlowski
  Cc: linux-pm, linux-kernel, Andrew Davis

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH v2 4/4] power: supply: wm8350: Use devm_power_supply_register() helper
  2024-01-29 19:02 [PATCH v2 0/4] Power supply register with devm Andrew Davis
                   ` (2 preceding siblings ...)
  2024-01-29 19:02 ` [PATCH v2 3/4] power: supply: max8925: " Andrew Davis
@ 2024-01-29 19:02 ` Andrew Davis
  2024-02-01 21:51 ` [PATCH v2 0/4] Power supply register with devm Sebastian Reichel
  4 siblings, 0 replies; 6+ messages in thread
From: Andrew Davis @ 2024-01-29 19:02 UTC (permalink / raw)
  To: Sebastian Reichel, Support Opensource, Krzysztof Kozlowski
  Cc: linux-pm, linux-kernel, Andrew Davis

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH v2 0/4] Power supply register with devm
  2024-01-29 19:02 [PATCH v2 0/4] Power supply register with devm Andrew Davis
                   ` (3 preceding siblings ...)
  2024-01-29 19:02 ` [PATCH v2 4/4] power: supply: wm8350: " Andrew Davis
@ 2024-02-01 21:51 ` Sebastian Reichel
  4 siblings, 0 replies; 6+ messages in thread
From: Sebastian Reichel @ 2024-02-01 21:51 UTC (permalink / raw)
  To: Sebastian Reichel, Support Opensource, Krzysztof Kozlowski, Andrew Davis
  Cc: linux-pm, linux-kernel


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 <sebastian.reichel@collabora.com>


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-02-01 21:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-29 19:02 [PATCH v2 0/4] Power supply register with devm Andrew Davis
2024-01-29 19:02 ` [PATCH v2 1/4] power: supply: max14577: Use devm_power_supply_register() helper Andrew Davis
2024-01-29 19:02 ` [PATCH v2 2/4] power: supply: max77693: " Andrew Davis
2024-01-29 19:02 ` [PATCH v2 3/4] power: supply: max8925: " Andrew Davis
2024-01-29 19:02 ` [PATCH v2 4/4] power: supply: wm8350: " Andrew Davis
2024-02-01 21:51 ` [PATCH v2 0/4] Power supply register with devm Sebastian Reichel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).