[U-Boot] [PATCH 2/2] i2c: mxc_i2c: Remove i2c_idle_bus from probe

Ye Li ye.li at nxp.com
Wed Jul 10 10:24:15 UTC 2019


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 not
select any 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 at nxp.com>
---
 drivers/i2c/mxc_i2c.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
index 23119cc..bd00bb5 100644
--- a/drivers/i2c/mxc_i2c.c
+++ b/drivers/i2c/mxc_i2c.c
@@ -916,13 +916,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.
-- 
2.7.4



More information about the U-Boot mailing list