summaryrefslogtreecommitdiff
path: root/drivers/i2c/algos/i2c-algo-bit.c
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2018-03-08 22:07:30 +0300
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2018-03-08 22:07:30 +0300
commitc6380ecd8e9bee7aba3d9a5a94b58168244c4a61 (patch)
treef8d9522c66e805f638399e094f8e0dfd92584d06 /drivers/i2c/algos/i2c-algo-bit.c
parentcdc2466df40f26af60f6b18123069bd52336a80c (diff)
parent661e50bc853209e41a5c14a290ca4decc43cbfd1 (diff)
downloadlinux-c6380ecd8e9bee7aba3d9a5a94b58168244c4a61.tar.xz
Merge tag 'v4.16-rc4' into next
Sync up with mainline to bring in RAVE MFD device core.
Diffstat (limited to 'drivers/i2c/algos/i2c-algo-bit.c')
-rw-r--r--drivers/i2c/algos/i2c-algo-bit.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c
index 1147bddb8b2c..3df0efd69ae3 100644
--- a/drivers/i2c/algos/i2c-algo-bit.c
+++ b/drivers/i2c/algos/i2c-algo-bit.c
@@ -649,6 +649,11 @@ static int __i2c_bit_add_bus(struct i2c_adapter *adap,
if (bit_adap->getscl == NULL)
adap->quirks = &i2c_bit_quirk_no_clk_stretch;
+ /* Bring bus to a known state. Looks like STOP if bus is not free yet */
+ setscl(bit_adap, 1);
+ udelay(bit_adap->udelay);
+ setsda(bit_adap, 1);
+
ret = add_adapter(adap);
if (ret < 0)
return ret;