[PATCH] power: supply: max14656: Use devm_work_autocancel()

From: Christophe JAILLET
Date: Sun Feb 13 2022 - 06:56:05 EST


Use devm_delayed_work_autocancel() instead of hand writing it.
It saves a few lines of code.

Signed-off-by: Christophe JAILLET <christophe.jaillet@xxxxxxxxxx>
---
drivers/power/supply/max14656_charger_detector.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/drivers/power/supply/max14656_charger_detector.c b/drivers/power/supply/max14656_charger_detector.c
index 3f49b29f3c88..fc36828895bf 100644
--- a/drivers/power/supply/max14656_charger_detector.c
+++ b/drivers/power/supply/max14656_charger_detector.c
@@ -18,6 +18,7 @@
#include <linux/of_device.h>
#include <linux/workqueue.h>
#include <linux/power_supply.h>
+#include <linux/devm-helpers.h>

#define MAX14656_MANUFACTURER "Maxim Integrated"
#define MAX14656_NAME "max14656"
@@ -233,14 +234,6 @@ static enum power_supply_property max14656_battery_props[] = {
POWER_SUPPLY_PROP_MANUFACTURER,
};

-static void stop_irq_work(void *data)
-{
- struct max14656_chip *chip = data;
-
- cancel_delayed_work_sync(&chip->irq_work);
-}
-
-
static int max14656_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
@@ -286,10 +279,10 @@ static int max14656_probe(struct i2c_client *client,
return -EINVAL;
}

- INIT_DELAYED_WORK(&chip->irq_work, max14656_irq_worker);
- ret = devm_add_action(dev, stop_irq_work, chip);
+ ret = devm_delayed_work_autocancel(dev, &chip->irq_work,
+ max14656_irq_worker);
if (ret) {
- dev_err(dev, "devm_add_action %d failed\n", ret);
+ dev_err(dev, "devm_delayed_work_autocancel %d failed\n", ret);
return ret;
}

--
2.32.0