[U-Boot] [PATCH 1/7] imx: mxc_i2c: tweak the i2c transfer method
Heiko Schocher
hs at denx.de
Tue Oct 31 04:27:31 UTC 2017
Hello Martyn,
Am 26.10.2017 um 16:47 schrieb Martyn Welch:
> From: Nandor Han <nandor.han at ge.com>
>
> Tweak the i2c transfer to work for devices that want to read data
> without addressing a register.
>
> Signed-off-by: Nandor Han <nandor.han at ge.com>
> Signed-off-by: Martyn Welch <martyn.welch at collabora.co.uk>
> Cc: Heiko Schocher <hs at denx.de>
> Cc: Stefano Babic <sbabic at denx.de>
> Signed-off-by: Martyn Welch <martyn at welchs.me.uk>
> ---
> drivers/i2c/mxc_i2c.c | 25 +++++++++++++++----------
> 1 file changed, 15 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
> index abf1da2..01f268b 100644
> --- a/drivers/i2c/mxc_i2c.c
> +++ b/drivers/i2c/mxc_i2c.c
> @@ -317,16 +317,19 @@ static int i2c_init_transfer_(struct mxc_i2c_bus *i2c_bus, u8 chip,
> temp |= I2CR_MTX | I2CR_TX_NO_AK;
> writeb(temp, base + (I2CR << reg_shift));
>
> - /* write slave address */
> - ret = tx_byte(i2c_bus, chip << 1);
> - if (ret < 0)
> - return ret;
> -
> - while (alen--) {
> - ret = tx_byte(i2c_bus, (addr >> (alen * 8)) & 0xff);
> + if (alen != -1) {
I prefer here a "if (alen >= 0) {"
Thanks!
bye,
Heiko
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52 Fax: +49-8142-66989-80 Email: hs at denx.de
More information about the U-Boot
mailing list