* [PATCH] power: supply: Use devm_mutex_init()
@ 2025-09-08 19:35 Christophe JAILLET
2025-09-09 0:19 ` Sebastian Reichel
2025-09-09 8:21 ` AngeloGioacchino Del Regno
0 siblings, 2 replies; 3+ messages in thread
From: Christophe JAILLET @ 2025-09-08 19:35 UTC (permalink / raw)
To: Pali Rohár, Sebastian Reichel, Matthias Brugger,
AngeloGioacchino Del Regno
Cc: linux-kernel, kernel-janitors, Christophe JAILLET, linux-pm,
linux-arm-kernel, linux-mediatek
Use devm_mutex_init() instead of hand-writing it.
This saves some LoC, improves readability and saves some space in the
generated .o file.
As an example:
Before:
======
text data bss dec hex filename
35803 9352 384 45539 b1e3 drivers/power/supply/rt9467-charger.o
After:
=====
text data bss dec hex filename
34792 9008 384 44184 ac98 drivers/power/supply/rt9467-charger.o
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
drivers/power/supply/bq27xxx_battery.c | 11 +--------
drivers/power/supply/mt6370-charger.c | 11 +--------
drivers/power/supply/rt9467-charger.c | 33 +++-----------------------
3 files changed, 5 insertions(+), 50 deletions(-)
diff --git a/drivers/power/supply/bq27xxx_battery.c b/drivers/power/supply/bq27xxx_battery.c
index ad2d9ecf32a5..bc36fa9f0dd0 100644
--- a/drivers/power/supply/bq27xxx_battery.c
+++ b/drivers/power/supply/bq27xxx_battery.c
@@ -2224,13 +2224,6 @@ static void bq27xxx_external_power_changed(struct power_supply *psy)
mod_delayed_work(system_wq, &di->work, HZ / 2);
}
-static void bq27xxx_battery_mutex_destroy(void *data)
-{
- struct mutex *lock = data;
-
- mutex_destroy(lock);
-}
-
int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
{
struct power_supply_desc *psy_desc;
@@ -2242,9 +2235,7 @@ int bq27xxx_battery_setup(struct bq27xxx_device_info *di)
int ret;
INIT_DELAYED_WORK(&di->work, bq27xxx_battery_poll);
- mutex_init(&di->lock);
- ret = devm_add_action_or_reset(di->dev, bq27xxx_battery_mutex_destroy,
- &di->lock);
+ ret = devm_mutex_init(di->dev, &di->lock);
if (ret)
return ret;
diff --git a/drivers/power/supply/mt6370-charger.c b/drivers/power/supply/mt6370-charger.c
index eb3bcf81f741..e6db961d5818 100644
--- a/drivers/power/supply/mt6370-charger.c
+++ b/drivers/power/supply/mt6370-charger.c
@@ -761,13 +761,6 @@ static int mt6370_chg_init_psy(struct mt6370_priv *priv)
return PTR_ERR_OR_ZERO(priv->psy);
}
-static void mt6370_chg_destroy_attach_lock(void *data)
-{
- struct mutex *attach_lock = data;
-
- mutex_destroy(attach_lock);
-}
-
static void mt6370_chg_destroy_wq(void *data)
{
struct workqueue_struct *wq = data;
@@ -894,9 +887,7 @@ static int mt6370_chg_probe(struct platform_device *pdev)
if (ret)
return dev_err_probe(dev, ret, "Failed to init psy\n");
- mutex_init(&priv->attach_lock);
- ret = devm_add_action_or_reset(dev, mt6370_chg_destroy_attach_lock,
- &priv->attach_lock);
+ ret = devm_mutex_init(dev, &priv->attach_lock);
if (ret)
return ret;
diff --git a/drivers/power/supply/rt9467-charger.c b/drivers/power/supply/rt9467-charger.c
index 32e7c7620b91..fe773dd8b404 100644
--- a/drivers/power/supply/rt9467-charger.c
+++ b/drivers/power/supply/rt9467-charger.c
@@ -1147,27 +1147,6 @@ static int rt9467_reset_chip(struct rt9467_chg_data *data)
return regmap_field_write(data->rm_field[F_RST], 1);
}
-static void rt9467_chg_destroy_adc_lock(void *data)
-{
- struct mutex *adc_lock = data;
-
- mutex_destroy(adc_lock);
-}
-
-static void rt9467_chg_destroy_attach_lock(void *data)
-{
- struct mutex *attach_lock = data;
-
- mutex_destroy(attach_lock);
-}
-
-static void rt9467_chg_destroy_ichg_ieoc_lock(void *data)
-{
- struct mutex *ichg_ieoc_lock = data;
-
- mutex_destroy(ichg_ieoc_lock);
-}
-
static void rt9467_chg_complete_aicl_done(void *data)
{
struct completion *aicl_done = data;
@@ -1220,21 +1199,15 @@ static int rt9467_charger_probe(struct i2c_client *i2c)
if (ret)
return dev_err_probe(dev, ret, "Failed to add irq chip\n");
- mutex_init(&data->adc_lock);
- ret = devm_add_action_or_reset(dev, rt9467_chg_destroy_adc_lock,
- &data->adc_lock);
+ ret = devm_mutex_init(dev, &data->adc_lock);
if (ret)
return ret;
- mutex_init(&data->attach_lock);
- ret = devm_add_action_or_reset(dev, rt9467_chg_destroy_attach_lock,
- &data->attach_lock);
+ ret = devm_mutex_init(dev, &data->attach_lock);
if (ret)
return ret;
- mutex_init(&data->ichg_ieoc_lock);
- ret = devm_add_action_or_reset(dev, rt9467_chg_destroy_ichg_ieoc_lock,
- &data->ichg_ieoc_lock);
+ ret = devm_mutex_init(dev, &data->ichg_ieoc_lock);
if (ret)
return ret;
--
2.51.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] power: supply: Use devm_mutex_init()
2025-09-08 19:35 [PATCH] power: supply: Use devm_mutex_init() Christophe JAILLET
@ 2025-09-09 0:19 ` Sebastian Reichel
2025-09-09 8:21 ` AngeloGioacchino Del Regno
1 sibling, 0 replies; 3+ messages in thread
From: Sebastian Reichel @ 2025-09-09 0:19 UTC (permalink / raw)
To: Pali Rohár, Sebastian Reichel, Matthias Brugger,
AngeloGioacchino Del Regno, Christophe JAILLET
Cc: linux-kernel, kernel-janitors, linux-pm, linux-arm-kernel,
linux-mediatek
On Mon, 08 Sep 2025 21:35:28 +0200, Christophe JAILLET wrote:
> Use devm_mutex_init() instead of hand-writing it.
>
> This saves some LoC, improves readability and saves some space in the
> generated .o file.
>
> As an example:
> Before:
> ======
> text data bss dec hex filename
> 35803 9352 384 45539 b1e3 drivers/power/supply/rt9467-charger.o
>
> [...]
Applied, thanks!
[1/1] power: supply: Use devm_mutex_init()
commit: 7d715345a86941b9e6c8e520b40078692baed4a4
Best regards,
--
Sebastian Reichel <sebastian.reichel@collabora.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] power: supply: Use devm_mutex_init()
2025-09-08 19:35 [PATCH] power: supply: Use devm_mutex_init() Christophe JAILLET
2025-09-09 0:19 ` Sebastian Reichel
@ 2025-09-09 8:21 ` AngeloGioacchino Del Regno
1 sibling, 0 replies; 3+ messages in thread
From: AngeloGioacchino Del Regno @ 2025-09-09 8:21 UTC (permalink / raw)
To: Christophe JAILLET, Pali Rohár, Sebastian Reichel,
Matthias Brugger
Cc: linux-kernel, kernel-janitors, linux-pm, linux-arm-kernel,
linux-mediatek
Il 08/09/25 21:35, Christophe JAILLET ha scritto:
> Use devm_mutex_init() instead of hand-writing it.
>
> This saves some LoC, improves readability and saves some space in the
> generated .o file.
>
> As an example:
> Before:
> ======
> text data bss dec hex filename
> 35803 9352 384 45539 b1e3 drivers/power/supply/rt9467-charger.o
>
> After:
> =====
> text data bss dec hex filename
> 34792 9008 384 44184 ac98 drivers/power/supply/rt9467-charger.o
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-09-09 8:21 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-08 19:35 [PATCH] power: supply: Use devm_mutex_init() Christophe JAILLET
2025-09-09 0:19 ` Sebastian Reichel
2025-09-09 8:21 ` AngeloGioacchino Del Regno
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox