[U-Boot,2/2] i2c: mxc_i2c: Remove i2c_idle_bus from probe
diff mbox series

Message ID 1562754238-45067-1-git-send-email-ye.li@nxp.com
State Accepted
Commit d7d864017d7f21a4cc3ff2a902024724c26ad213
Delegated to: Heiko Schocher
Headers show
Series
  • [U-Boot,1/2] i2c-mux-gpio: Fix GPIO request flag issue
Related show

Commit Message

Ye Li July 10, 2019, 10:24 a.m. UTC
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@nxp.com>
---
 drivers/i2c/mxc_i2c.c | 7 -------
 1 file changed, 7 deletions(-)

Comments

Heiko Schocher Aug. 27, 2019, 9:46 a.m. UTC | #1
Hello Ye Li,

Am 10.07.2019 um 12:24 schrieb Ye Li:
> 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@nxp.com>
> ---
>   drivers/i2c/mxc_i2c.c | 7 -------
>   1 file changed, 7 deletions(-)
Applied to u-boot-i2c master

Thanks!

bye,
Heiko

Patch
diff mbox series

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.