[Arm-dev] [PATCH v2 11/16] i2c: octeon: Fix set SCL recovery function

Wed Jan 18 08:59:27 UTC 2017
Vadim Lomovtsev <Vadim.Lomovtsev at caviumnetworks.com>

From: Dmitry Bazhenov <dmitry.bazhenov at auriga.com>

The set SCL recovery function unconditionally pulls the SCL line low.
Only pull SCL line low according to val parameter.

Signed-off-by: Dmitry Bazhenov <dmitry.bazhenov at auriga.com>
Signed-off-by: Jan Glauber <jglauber at cavium.com>
[Changed commit message]
Signed-off-by: Wolfram Sang <wsa at the-dreams.de>

(cherry picked from commit e7051556b63dac163a82db6e6f324196c0c81e5b)
Signed-off-by: Vadim Lomovtsev <Vadim.Lomovtsev at caviumnetworks.com>
---
 drivers/i2c/busses/i2c-octeon-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-octeon-core.c b/drivers/i2c/busses/i2c-octeon-core.c
index f45ea5e..f322242 100644
--- a/drivers/i2c/busses/i2c-octeon-core.c
+++ b/drivers/i2c/busses/i2c-octeon-core.c
@@ -767,7 +767,7 @@ static void octeon_i2c_set_scl(struct i2c_adapter *adap, int val)
 {
 	struct octeon_i2c *i2c = i2c_get_adapdata(adap);
 
-	octeon_i2c_write_int(i2c, TWSI_INT_SCL_OVR);
+	octeon_i2c_write_int(i2c, val ? 0 : TWSI_INT_SCL_OVR);
 }
 
 static int octeon_i2c_get_sda(struct i2c_adapter *adap)
-- 
2.5.5