power: supply: sc27xx: Replace devm_add_action() followed by failure action with...
authorFuqian Huang <huangfq.daxian@gmail.com>
Mon, 8 Jul 2019 12:32:59 +0000 (20:32 +0800)
committerSebastian Reichel <sebastian.reichel@collabora.com>
Mon, 2 Sep 2019 19:09:12 +0000 (21:09 +0200)
devm_add_action_or_reset() is introduced as a helper function which
internally calls devm_add_action(). If devm_add_action() fails
then it will execute the action mentioned and return the error code.
This reduce source code size (avoid writing the action twice)
and reduce the likelyhood of bugs.

Signed-off-by: Fuqian Huang <huangfq.daxian@gmail.com>
Reviewed-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/sc27xx_fuel_gauge.c

index 9c184d8..58b2970 100644 (file)
@@ -1023,9 +1023,8 @@ static int sc27xx_fgu_probe(struct platform_device *pdev)
                return ret;
        }
 
-       ret = devm_add_action(dev, sc27xx_fgu_disable, data);
+       ret = devm_add_action_or_reset(dev, sc27xx_fgu_disable, data);
        if (ret) {
-               sc27xx_fgu_disable(data);
                dev_err(dev, "failed to add fgu disable action\n");
                return ret;
        }