MLK-21956-2 mxc_i2c: Remove i2c_idle_bus from probe
authorYe Li <ye.li@nxp.com>
Thu, 6 Jun 2019 08:29:03 +0000 (01:29 -0700)
committerYe Li <ye.li@nxp.com>
Thu, 6 Jun 2019 09:27:10 +0000 (02:27 -0700)
i2c_idle_bus is already used in i2c_init_transfer. So before each tranfer
if the bus is not ready, the i2c_idle_bus will be used to force idle.
It is unnecessary to call it again in probe.

We found a issue when enabling i2c mux with the mxc_i2c. The mxc_i2c is probed
after mux probing. However, at this moment the mux is still in idle state,
won't select port. So if we call i2c_idle_bus in probe, it will fail and cause
mxc_i2c probe failed.

Signed-off-by: Ye Li <ye.li@nxp.com>
drivers/i2c/mxc_i2c.c

index cc9777e..19af78f 100644 (file)
@@ -865,13 +865,6 @@ static int mxc_i2c_probe(struct udevice *bus)
                }
        }
 
-       ret = i2c_idle_bus(i2c_bus);
-       if (ret < 0) {
-               /* Disable clk */
-               enable_i2c_clk(0, bus->seq);
-               return ret;
-       }
-
        /*
         * Pinmux settings are in board file now, until pinmux is supported,
         * we can set pinmux here in probe function.