[U-Boot] [PATCH V3 07/25] mxc_i2c.c: code i2c_probe as a 0 length i2c_write

Troy Kisky troy.kisky at boundarydevices.com
Thu Jul 19 20:18:08 CEST 2012


Signed-off-by: Troy Kisky <troy.kisky at boundarydevices.com>
Acked-by: Marek Vasut <marex at denx.de>
Acked-by: Stefano Babic <sbabic at denx.de>

---
v2: add acks
change comment
---
---
 drivers/i2c/mxc_i2c.c |   25 ++++++++-----------------
 1 file changed, 8 insertions(+), 17 deletions(-)

diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
index 55a688a..626e13e 100644
--- a/drivers/i2c/mxc_i2c.c
+++ b/drivers/i2c/mxc_i2c.c
@@ -302,23 +302,6 @@ exit:
 }
 
 /*
- * Try if a chip add given address responds (probe the chip)
- */
-int i2c_probe(uchar chip)
-{
-	struct mxc_i2c_regs *i2c_regs = (struct mxc_i2c_regs *)I2C_BASE;
-	int ret;
-
-	ret = i2c_imx_start();
-	if (ret)
-		return ret;
-
-	ret = tx_byte(i2c_regs, chip << 1);
-	i2c_imx_stop();
-	return ret;
-}
-
-/*
  * Read data from I2C device
  */
 int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len)
@@ -406,3 +389,11 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len)
 
 	return ret;
 }
+
+/*
+ * Test if a chip at a given address responds (probe the chip)
+ */
+int i2c_probe(uchar chip)
+{
+	return i2c_write(chip, 0, 0, NULL, 0);
+}
-- 
1.7.9.5



More information about the U-Boot mailing list