]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
i2c: mux: Fix error path in i2c-arb-gpio
authorMichal Simek <michal.simek@amd.com>
Thu, 1 Aug 2024 08:01:30 +0000 (10:01 +0200)
committerHeiko Schocher <hs@denx.de>
Fri, 9 Aug 2024 12:46:05 +0000 (14:46 +0200)
There is no reason to use goto and just call return. Better is to call
return directly which is done for some if/else parts.

Also make no sense to setup ret to -ETIMEDOUT and then to 0.
Return timeout directly.

Signed-off-by: Michal Simek <michal.simek@amd.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
drivers/i2c/muxes/i2c-arb-gpio-challenge.c

index a83d7cb0829d3b336074c35785f63431f00bf2a4..3d2ce0ca705d569a35ef27c886cafe7082c56021 100644 (file)
@@ -54,7 +54,7 @@ int i2c_arbitrator_select(struct udevice *mux, struct udevice *bus,
                /* Indicate that we want to claim the bus */
                ret = dm_gpio_set_value(&priv->ap_claim, 1);
                if (ret)
-                       goto err;
+                       return ret;
                udelay(priv->slew_delay_us);
 
                /* Wait for the EC to release it */
@@ -62,7 +62,7 @@ int i2c_arbitrator_select(struct udevice *mux, struct udevice *bus,
                while (get_timer(start_retry) < priv->wait_retry_ms) {
                        ret = dm_gpio_get_value(&priv->ec_claim);
                        if (ret < 0) {
-                               goto err;
+                               return ret;
                        } else if (!ret) {
                                /* We got it, so return */
                                return 0;
@@ -75,17 +75,14 @@ int i2c_arbitrator_select(struct udevice *mux, struct udevice *bus,
                /* It didn't release, so give up, wait, and try again */
                ret = dm_gpio_set_value(&priv->ap_claim, 0);
                if (ret)
-                       goto err;
+                       return ret;
 
                mdelay(priv->wait_retry_ms);
        } while (get_timer(start) < priv->wait_free_ms);
 
        /* Give up, release our claim */
        printf("I2C: Could not claim bus, timeout %lu\n", get_timer(start));
-       ret = -ETIMEDOUT;
-       ret = 0;
-err:
-       return ret;
+       return -ETIMEDOUT;
 }
 
 static int i2c_arbitrator_probe(struct udevice *dev)