[PATCH 4/9] power: supply: mt6370: Simplify with devm_create_singlethread_workqueue
From: Krzysztof Kozlowski
Date: Mon Feb 23 2026 - 02:31:39 EST
Simplify the driver probe function by using
devm_create_singlethread_workqueue() which handles the cleanup already.
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxxxxxxxx>
---
drivers/power/supply/mt6370-charger.c | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)
diff --git a/drivers/power/supply/mt6370-charger.c b/drivers/power/supply/mt6370-charger.c
index e6db961d5818..f671fe62876a 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_wq(void *data)
-{
- struct workqueue_struct *wq = data;
-
- destroy_workqueue(wq);
-}
-
static irqreturn_t mt6370_attach_i_handler(int irq, void *data)
{
struct mt6370_priv *priv = data;
@@ -893,14 +886,10 @@ static int mt6370_chg_probe(struct platform_device *pdev)
priv->attach = MT6370_ATTACH_STAT_DETACH;
- priv->wq = create_singlethread_workqueue(dev_name(priv->dev));
+ priv->wq = devm_create_singlethread_workqueue(dev, dev_name(priv->dev));
if (!priv->wq)
return -ENOMEM;
- ret = devm_add_action_or_reset(dev, mt6370_chg_destroy_wq, priv->wq);
- if (ret)
- return ret;
-
ret = devm_work_autocancel(dev, &priv->bc12_work, mt6370_chg_bc12_work_func);
if (ret)
return dev_err_probe(dev, ret, "Failed to init bc12 work\n");
--
2.51.0