[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