i2c: rcar: avoid non-standard use of goto
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Wed, 6 Sep 2023 20:00:19 +0000 (22:00 +0200)
committerWolfram Sang <wsa@kernel.org>
Tue, 19 Sep 2023 09:10:28 +0000 (11:10 +0200)
Kernel functions goto somewhere on error conditions. Using goto for the
default path is irritating. Let's bail out on error instead and use a
proper retval.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
drivers/i2c/busses/i2c-rcar.c

index a32a93f9a60d03db0a9cb92ba3c04ffbd43984dd..49dfbeebf6b89b6728ce5773c1cfc8244b415a14 100644 (file)
@@ -317,12 +317,12 @@ static int rcar_i2c_clock_calculate(struct rcar_i2c_priv *priv)
        for (scgd = 0; scgd < 0x40; scgd++) {
                scl = ick / (20 + (scgd * 8) + round);
                if (scl <= t.bus_freq_hz)
-                       goto scgd_find;
+                       break;
        }
-       dev_err(dev, "it is impossible to calculate best SCL\n");
-       return -EIO;
 
-scgd_find:
+       if (scgd == 0x40)
+               goto err_no_val;
+
        dev_dbg(dev, "clk %d/%d(%lu), round %u, CDF:0x%x, SCGD: 0x%x\n",
                scl, t.bus_freq_hz, rate, round, cdf, scgd);
 
@@ -330,6 +330,10 @@ scgd_find:
        priv->icccr = scgd << cdf_width | cdf;
 
        return 0;
+
+err_no_val:
+       dev_err(dev, "it is impossible to calculate best SCL\n");
+       return -EINVAL;
 }
 
 /*