]> Pileus Git - ~andy/linux/blobdiff - drivers/i2c/busses/i2c-omap.c
Merge branch 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux
[~andy/linux] / drivers / i2c / busses / i2c-omap.c
index 8c2d7cfb82da60a94b27d0bdc8d8d8433880a942..6849635b268a81fe8f85d380d2d80d16ba6ab2b1 100644 (file)
@@ -499,6 +499,8 @@ static int omap_i2c_xfer_msg(struct i2c_adapter *adap,
        if (dev->speed > 400)
                w |= OMAP_I2C_CON_OPMODE_HS;
 
+       if (msg->flags & I2C_M_STOP)
+               stop = 1;
        if (msg->flags & I2C_M_TEN)
                w |= OMAP_I2C_CON_XA;
        if (!(msg->flags & I2C_M_RD))
@@ -612,7 +614,8 @@ out:
 static u32
 omap_i2c_func(struct i2c_adapter *adap)
 {
-       return I2C_FUNC_I2C | (I2C_FUNC_SMBUS_EMUL & ~I2C_FUNC_SMBUS_QUICK);
+       return I2C_FUNC_I2C | (I2C_FUNC_SMBUS_EMUL & ~I2C_FUNC_SMBUS_QUICK) |
+              I2C_FUNC_PROTOCOL_MANGLING;
 }
 
 static inline void