--- linux-4.9.37/include/uapi/linux/i2c.h 2017-07-12 16:42:41.000000000 +0300 +++ linux-4.9.y/include/uapi/linux/i2c.h 2021-06-07 13:01:34.000000000 +0300 @@ -71,12 +71,19 @@ #define I2C_M_RD 0x0001 /* read data, from slave to master */ /* I2C_M_RD is guaranteed to be 0x0001! */ #define I2C_M_TEN 0x0010 /* this is a ten bit chip address */ +#define I2C_M_NOSTART 0x4000 /* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_REV_DIR_ADDR 0x2000 /* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_IGNORE_NAK 0x1000 /* if I2C_FUNC_PROTOCOL_MANGLING */ #define I2C_M_RECV_LEN 0x0400 /* length will be first received byte */ #define I2C_M_NO_RD_ACK 0x0800 /* if I2C_FUNC_PROTOCOL_MANGLING */ #define I2C_M_IGNORE_NAK 0x1000 /* if I2C_FUNC_PROTOCOL_MANGLING */ #define I2C_M_REV_DIR_ADDR 0x2000 /* if I2C_FUNC_PROTOCOL_MANGLING */ #define I2C_M_NOSTART 0x4000 /* if I2C_FUNC_NOSTART */ #define I2C_M_STOP 0x8000 /* if I2C_FUNC_PROTOCOL_MANGLING */ +#define I2C_M_RECV_LEN 0x0400 /* length will be first received byte */ +#define I2C_M_16BIT_REG 0x0002 /* indicate reg bit-width is 16bit */ +#define I2C_M_16BIT_DATA 0x0008 /* indicate data bit-width is 16bit */ +#define I2C_M_DMA 0x0004 /* indicate use dma mode */ __u16 len; /* msg length */ __u8 *buf; /* pointer to msg data */ };