From: Andrew Davis <afd@ti.com>
To: "Sebastian Reichel" <sre@kernel.org>,
"Support Opensource" <support.opensource@diasemi.com>,
"Krzysztof Kozlowski" <krzysztof.kozlowski@linaro.org>,
"Pali Rohár" <pali@kernel.org>
Cc: <linux-pm@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
Andrew Davis <afd@ti.com>
Subject: [PATCH 14/21] power: supply: wm831x: Use devm_power_supply_register() helper
Date: Tue, 23 Jan 2024 10:36:46 -0600 [thread overview]
Message-ID: <20240123163653.384385-15-afd@ti.com> (raw)
In-Reply-To: <20240123163653.384385-1-afd@ti.com>
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/wm831x_power.c | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/drivers/power/supply/wm831x_power.c b/drivers/power/supply/wm831x_power.c
index e49b01ee5f3ef..d56e499ac59fb 100644
--- a/drivers/power/supply/wm831x_power.c
+++ b/drivers/power/supply/wm831x_power.c
@@ -570,8 +570,9 @@ static int wm831x_power_probe(struct platform_device *pdev)
power->wall_desc.properties = wm831x_wall_props;
power->wall_desc.num_properties = ARRAY_SIZE(wm831x_wall_props);
power->wall_desc.get_property = wm831x_wall_get_prop;
- power->wall = power_supply_register(&pdev->dev, &power->wall_desc,
- NULL);
+ power->wall = devm_power_supply_register(&pdev->dev,
+ &power->wall_desc,
+ NULL);
if (IS_ERR(power->wall)) {
ret = PTR_ERR(power->wall);
goto err;
@@ -582,7 +583,9 @@ static int wm831x_power_probe(struct platform_device *pdev)
power->usb_desc.properties = wm831x_usb_props;
power->usb_desc.num_properties = ARRAY_SIZE(wm831x_usb_props);
power->usb_desc.get_property = wm831x_usb_get_prop;
- power->usb = power_supply_register(&pdev->dev, &power->usb_desc, NULL);
+ power->usb = devm_power_supply_register(&pdev->dev,
+ &power->usb_desc,
+ NULL);
if (IS_ERR(power->usb)) {
ret = PTR_ERR(power->usb);
goto err_wall;
@@ -599,9 +602,9 @@ static int wm831x_power_probe(struct platform_device *pdev)
power->battery_desc.num_properties = ARRAY_SIZE(wm831x_bat_props);
power->battery_desc.get_property = wm831x_bat_get_prop;
power->battery_desc.use_for_apm = 1;
- power->battery = power_supply_register(&pdev->dev,
- &power->battery_desc,
- NULL);
+ power->battery = devm_power_supply_register(&pdev->dev,
+ &power->battery_desc,
+ NULL);
if (IS_ERR(power->battery)) {
ret = PTR_ERR(power->battery);
goto err_usb;
@@ -684,12 +687,8 @@ static int wm831x_power_probe(struct platform_device *pdev)
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO"));
free_irq(irq, power);
err_battery:
- if (power->have_battery)
- power_supply_unregister(power->battery);
err_usb:
- power_supply_unregister(power->usb);
err_wall:
- power_supply_unregister(power->wall);
err:
return ret;
}
@@ -717,11 +716,6 @@ static void wm831x_power_remove(struct platform_device *pdev)
irq = wm831x_irq(wm831x, platform_get_irq_byname(pdev, "SYSLO"));
free_irq(irq, wm831x_power);
-
- if (wm831x_power->have_battery)
- power_supply_unregister(wm831x_power->battery);
- power_supply_unregister(wm831x_power->wall);
- power_supply_unregister(wm831x_power->usb);
}
static struct platform_driver wm831x_power_driver = {
--
2.39.2
next prev parent reply other threads:[~2024-01-23 16:37 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-23 16:36 [PATCH 00/21] Power supply register with devm Andrew Davis
2024-01-23 16:36 ` [PATCH 01/21] power: supply: da9030: Use devm_power_supply_register() helper Andrew Davis
2024-01-23 16:36 ` [PATCH 02/21] power: supply: da9052: " Andrew Davis
2024-01-23 16:36 ` [PATCH 03/21] power: supply: ds2760: " Andrew Davis
2024-01-23 16:36 ` [PATCH 04/21] power: supply: goldfish: " Andrew Davis
2024-01-23 16:36 ` [PATCH 05/21] power: supply: lp8727: " Andrew Davis
2024-01-23 16:36 ` [PATCH 06/21] power: supply: lp8788: " Andrew Davis
2024-01-23 16:36 ` [PATCH 07/21] power: supply: max14577: " Andrew Davis
2024-01-23 16:36 ` [PATCH 08/21] power: supply: max77693: " Andrew Davis
2024-01-26 11:56 ` kernel test robot
2024-01-23 16:36 ` [PATCH 09/21] power: supply: max8925: " Andrew Davis
2024-01-26 12:28 ` kernel test robot
2024-01-23 16:36 ` [PATCH 10/21] power: supply: pcf50633: " Andrew Davis
2024-01-23 16:36 ` [PATCH 11/21] power: supply: rt5033: " Andrew Davis
2024-01-23 16:36 ` [PATCH 12/21] power: supply: tps65090: " Andrew Davis
2024-01-23 16:36 ` [PATCH 13/21] power: supply: wm831x: " Andrew Davis
2024-01-23 16:36 ` Andrew Davis [this message]
2024-01-23 16:36 ` [PATCH 15/21] power: supply: wm8350: " Andrew Davis
2024-01-26 13:00 ` kernel test robot
2024-01-23 16:36 ` [PATCH 16/21] power: supply: da9150: Use devm_iio_channel_get() helper Andrew Davis
2024-01-23 16:36 ` [PATCH 17/21] power: supply: da9150: Use devm_power_supply_register() helper Andrew Davis
2024-01-23 16:36 ` [PATCH 18/21] power: supply: rx51: Use devm_iio_channel_get() helper Andrew Davis
2024-01-23 16:36 ` [PATCH 19/21] power: supply: rx51: Use devm_power_supply_register() helper Andrew Davis
2024-01-23 16:36 ` [PATCH 20/21] power: supply: twl4030_madc: Use devm_iio_channel_get() helper Andrew Davis
2024-01-23 16:36 ` [PATCH 21/21] power: supply: twl4030_madc: Use devm_power_supply_register() helper Andrew Davis
2024-01-27 0:48 ` (subset) [PATCH 00/21] Power supply register with devm Sebastian Reichel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240123163653.384385-15-afd@ti.com \
--to=afd@ti.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pali@kernel.org \
--cc=sre@kernel.org \
--cc=support.opensource@diasemi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).