diff options
Diffstat (limited to 'drivers/power/supply')
-rw-r--r-- | drivers/power/supply/max14656_charger_detector.c | 15 |
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; } |