i2c: uapi: add macro to describe support for all SMBus transfers
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Sat, 9 Jan 2021 12:43:09 +0000 (13:43 +0100)
committerWolfram Sang <wsa@kernel.org>
Fri, 22 Jan 2021 08:59:00 +0000 (09:59 +0100)
Some I2C bus master drivers which support I2C_M_RECV_LEN do not set
the functionality bits of the now supported SMBus transfers. Add a
convenience macro to make this very simple.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Wolfram Sang <wsa@kernel.org>
include/uapi/linux/i2c.h

index 7786551..92326eb 100644 (file)
@@ -129,6 +129,11 @@ struct i2c_msg {
                                         I2C_FUNC_SMBUS_I2C_BLOCK | \
                                         I2C_FUNC_SMBUS_PEC)
 
+/* if I2C_M_RECV_LEN is also supported */
+#define I2C_FUNC_SMBUS_EMUL_ALL                (I2C_FUNC_SMBUS_EMUL | \
+                                        I2C_FUNC_SMBUS_READ_BLOCK_DATA | \
+                                        I2C_FUNC_SMBUS_BLOCK_PROC_CALL)
+
 /*
  * Data for SMBus Messages
  */