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

Marek Vasut
2012-06-22T17:00:24Z

Dear Troy Kisky,

> Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>

Acked-by: Marek Vasut <marex@denx.de>

> ---
> 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);
> +}

Best regards,
Marek Vasut