summaryrefslogtreecommitdiffstats
path: root/drivers/power/supply/max14656_charger_detector.c
diff options
context:
space:
mode:
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>2022-02-13 12:54:56 +0100
committerSebastian Reichel <sebastian.reichel@collabora.com>2022-02-24 12:19:20 +0100
commitd016fc7ab52ab378d8bc11ac6f7e326da7b7a625 (patch)
treef9f03cea757c6d3269777697f5b19caa74fc3489 /drivers/power/supply/max14656_charger_detector.c
parent419c0e9d25ac083877eb37143b54eb57af1401dd (diff)
downloadlinux-d016fc7ab52ab378d8bc11ac6f7e326da7b7a625.tar.bz2
power: supply: max14656: Use devm_work_autocancel()
Use devm_delayed_work_autocancel() instead of hand writing it. It saves a few lines of code. Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Diffstat (limited to 'drivers/power/supply/max14656_charger_detector.c')
-rw-r--r--drivers/power/supply/max14656_charger_detector.c15
1 files 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;
}