i2c: qcom-geni: Use goto for clearer exit path
authorAndi Shyti <andi.shyti@kernel.org>
Mon, 12 Aug 2024 19:40:29 +0000 (21:40 +0200)
committerAndi Shyti <andi.shyti@kernel.org>
Mon, 9 Sep 2024 22:33:55 +0000 (00:33 +0200)
Refactor the code by using goto statements to reduce duplication
and make the exit path clearer.

Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
drivers/i2c/busses/i2c-qcom-geni.c

index 2ca785410547fe9e2c1edd387c22a2b191c22218..eebb0cbb6ca44bb7475d932515340b11041efe14 100644 (file)
@@ -986,21 +986,24 @@ static int __maybe_unused geni_i2c_runtime_resume(struct device *dev)
                return ret;
 
        ret = clk_prepare_enable(gi2c->core_clk);
-       if (ret) {
-               geni_icc_disable(&gi2c->se);
-               return ret;
-       }
+       if (ret)
+               goto out_icc_disable;
 
        ret = geni_se_resources_on(&gi2c->se);
-       if (ret) {
-               clk_disable_unprepare(gi2c->core_clk);
-               geni_icc_disable(&gi2c->se);
-               return ret;
-       }
+       if (ret)
+               goto out_clk_disable;
 
        enable_irq(gi2c->irq);
        gi2c->suspended = 0;
+
        return 0;
+
+out_clk_disable:
+       clk_disable_unprepare(gi2c->core_clk);
+out_icc_disable:
+       geni_icc_disable(&gi2c->se);
+
+       return ret;
 }
 
 static int __maybe_unused geni_i2c_suspend_noirq(struct device *dev)