From 0520628e5c6bce6b43af8b468ae9396617d5b9a4 Mon Sep 17 00:00:00 2001 From: taolan Date: Fri, 30 Sep 2022 01:45:07 +0000 Subject: [PATCH] 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 --- drivers/i2c/busses/i2c-hix5hd2.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/busses/i2c-hix5hd2.c b/drivers/i2c/busses/i2c-hix5hd2.c index 64feaa9dca61..48163759c142 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;