[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220930014507.5612-1-taolan@huawei.com>
Date: Fri, 30 Sep 2022 01:45:07 +0000
From: Tao Lan <taolan@...wei.com>
To: <linux-i2c@...r.kernel.org>, <linux-kernel@...r.kernel.org>
CC: taolan <taolan@...wei.com>
Subject: [PATCH] i2c-hix5hd2: Add I2C_M_STOP flag support for i2c-hix5hd2 driver.
From: taolan <taolan@...wei.com>
For compatibility, some devices need to work with controller between
messages using a stop.
Signed-off-by: taolan <taolan@...wei.com>
---
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
Powered by blists - more mailing lists