From: taolan <[email protected]>
For compatibility, some devices need to work with controller between
messages using a stop.
Signed-off-by: taolan <[email protected]>
---
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 61ae58f57047..e5042e34ecc7 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;
--
2.22.0
Hi Taolan,
On Fri, Sep 30, 2022 at 01:45:07AM +0000, Tao Lan wrote:
> From: taolan <[email protected]>
>
> For compatibility, some devices need to work with controller between
> messages using a stop.
>
> Signed-off-by: taolan <[email protected]>
Acked-by: Andi Shyti <[email protected]>
Thanks,
Andi
On Fri, Sep 30, 2022 at 01:45:07AM +0000, Tao Lan wrote:
> From: taolan <[email protected]>
>
> For compatibility, some devices need to work with controller between
> messages using a stop.
>
> Signed-off-by: taolan <[email protected]>
Applied to for-next, thanks!