[U-Boot] [PATCH 06/24] mxc_i2c.c: code i2c_probe as a 0 length i2c_write

Troy Kisky
2012-06-22T04:12:01Z

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
---
drivers/i2c/mxc_i2c.c | 29 ++++++++---------------------
1 file changed, 8 insertions(+), 21 deletions(-)

diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
index 626960d..4f12b9e 100644
--- a/drivers/i2c/mxc_i2c.c
+++ b/drivers/i2c/mxc_i2c.c
@@ -302,27 +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);
- if (ret)
- return ret;
-
- i2c_imx_stop();
-
- return ret;
-}
-
-/*
* Read data from I2C device
*/
int i2c_read(uchar chip, uint addr, int alen, uchar *buf, int len)
@@ -404,3 +383,11 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buf, int len)

return ret;
}
+
+/*
+ * Try if a chip add given address responds (probe the chip)
+ */
+int i2c_probe(uchar chip)
+{
+ return i2c_write(chip, 0, 0, NULL, 0);
+}
--
1.7.9.5