From: taolan Date: Fri, 30 Sep 2022 01:45:07 +0000 (+0000) Subject: i2c: hix5hd2: Add I2C_M_STOP flag support for i2c-hix5hd2 driver. X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0520628e5c6bce6b43af8b468ae9396617d5b9a4;p=linux.git i2c: hix5hd2: Add I2C_M_STOP flag support for i2c-hix5hd2 driver. For compatibility, some devices need to work with controller between messages using a stop. Signed-off-by: taolan Acked-by: Andi Shyti Signed-off-by: Wolfram Sang --- diff --git a/drivers/i2c/busses/i2c-hix5hd2.c b/drivers/i2c/busses/i2c-hix5hd2.c index 64feaa9dca619..48163759c142c 100644 --- a/drivers/i2c/busses/i2c-hix5hd2.c +++ b/drivers/i2c/busses/i2c-hix5hd2.c @@ -360,7 +360,11 @@ static int hix5hd2_i2c_xfer(struct i2c_adapter *adap, pm_runtime_get_sync(priv->dev); for (i = 0; i < num; i++, msgs++) { - stop = (i == num - 1); + if ((i == num - 1) || (msgs->flags & I2C_M_STOP)) + stop = 1; + else + stop = 0; + ret = hix5hd2_i2c_xfer_msg(priv, msgs, stop); if (ret < 0) goto out;