iio: tsl2772: Use devm_add_action_or_reset
authorChuhong Yuan <hslester96@gmail.com>
Thu, 1 Aug 2019 07:35:57 +0000 (15:35 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Mon, 5 Aug 2019 15:23:47 +0000 (16:23 +0100)
Use devm_add_action_or_reset to remove the call to
tsl2772_disable_regulators_action to simplify the error path.

Signed-off-by: Chuhong Yuan <hslester96@gmail.com>
Reviewed-by: Brian Masney <masneyb@onstation.org>
Tested-by: Brian Masney <masneyb@onstation.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/light/tsl2772.c

index 83cece9..29cfd8a 100644 (file)
@@ -1807,10 +1807,10 @@ static int tsl2772_probe(struct i2c_client *clientp,
                return PTR_ERR(chip->vdd_supply);
        }
 
-       ret = devm_add_action(&clientp->dev, tsl2772_disable_regulators_action,
-                             chip);
+       ret = devm_add_action_or_reset(&clientp->dev,
+                                       tsl2772_disable_regulators_action,
+                                       chip);
        if (ret < 0) {
-               tsl2772_disable_regulators_action(chip);
                dev_err(&clientp->dev, "Failed to setup regulator cleanup action %d\n",
                        ret);
                return ret;