power: supply: max8997_charger: Use devm_work_autocancel()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 13 Feb 2022 11:19:31 +0000 (12:19 +0100)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Thu, 24 Feb 2022 11:20:07 +0000 (12:20 +0100)
Use devm_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>
drivers/power/supply/max8997_charger.c

index 25207fe..127c73b 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/mfd/max8997.h>
 #include <linux/mfd/max8997-private.h>
 #include <linux/regulator/consumer.h>
+#include <linux/devm-helpers.h>
 
 /* MAX8997_REG_STATUS4 */
 #define DCINOK_SHIFT           1
@@ -94,13 +95,6 @@ static int max8997_battery_get_property(struct power_supply *psy,
        return 0;
 }
 
-static void max8997_battery_extcon_evt_stop_work(void *data)
-{
-       struct charger_data *charger = data;
-
-       cancel_work_sync(&charger->extcon_work);
-}
-
 static void max8997_battery_extcon_evt_worker(struct work_struct *work)
 {
        struct charger_data *charger =
@@ -255,8 +249,8 @@ static int max8997_battery_probe(struct platform_device *pdev)
        }
 
        if (!IS_ERR(charger->reg) && !IS_ERR_OR_NULL(charger->edev)) {
-               INIT_WORK(&charger->extcon_work, max8997_battery_extcon_evt_worker);
-               ret = devm_add_action(&pdev->dev, max8997_battery_extcon_evt_stop_work, charger);
+               ret = devm_work_autocancel(&pdev->dev, &charger->extcon_work,
+                                          max8997_battery_extcon_evt_worker);
                if (ret) {
                        dev_err(&pdev->dev, "failed to add extcon evt stop action: %d\n", ret);
                        return ret;