aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/busses/i2c-omap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 801df6000e9b..c2148332de0f 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -545,6 +545,8 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap,
545 if (dev->speed > 400) 545 if (dev->speed > 400)
546 w |= OMAP_I2C_CON_OPMODE_HS; 546 w |= OMAP_I2C_CON_OPMODE_HS;
547 547
548 if (msg->flags & I2C_M_STOP)
549 stop = 1;
548 if (msg->flags & I2C_M_TEN) 550 if (msg->flags & I2C_M_TEN)
549 w |= OMAP_I2C_CON_XA; 551 w |= OMAP_I2C_CON_XA;
550 if (!(msg->flags & I2C_M_RD)) 552 if (!(msg->flags & I2C_M_RD))
@@ -658,7 +660,8 @@ out:
658static u32 660static u32
659omap_i2c_func(struct i2c_adapter *adap) 661omap_i2c_func(struct i2c_adapter *adap)
660{ 662{
661 return I2C_FUNC_I2C | (I2C_FUNC_SMBUS_EMUL & ~I2C_FUNC_SMBUS_QUICK); 663 return I2C_FUNC_I2C | (I2C_FUNC_SMBUS_EMUL & ~I2C_FUNC_SMBUS_QUICK) |
664 I2C_FUNC_PROTOCOL_MANGLING;
662} 665}
663 666
664static inline void 667static inline void