Because I want to clarify I2C_M_RECV len usage, this series updates the documentation and some of its users. Patch 1 refactors the whole documentation of 'i2c_msg', so all usage of I2C_M_* flags and their conditions hopefully become clearer. Patch 2+3 remove some obvious boilerplate in the UAPI headers while here. Patch 4 is a driver fix I found while working on this series. Patch 5 introduces a new convenience macro to enable SMBus transfers which need I2C_M_RECV_LEN. Then, some drivers use the new macro, sometimes to remove boilerplate, sometimes because these SMBus transfers have been forgotten before. This series is the first part of a larger work to extend I2C_M_RECV_LEN to allow larger transfer sizes (as specified in the SMBus 3.0 standard) and to enable this on Renesas R-Car hardware. Looking forward to comments and/or reviews; the driver patches are only build-tested. Happy hacking, Wolfram Wolfram Sang (8): i2c: refactor documentation of struct i2c_msg i2c: remove licence boilerplate from main UAPI header i2c: remove licence boilerplate from i2c-dev UAPI header i2c: octeon: check correct size of maximum RECV_LEN packet i2c: uapi: add macro to describe support for all SMBus transfers i2c: algo: bit: use new macro to specifiy capabilities i2c: qup: advertise SMBus transfers using RECV_LEN i2c: s3c2410: advertise SMBus transfers using RECV_LEN drivers/i2c/algos/i2c-algo-bit.c | 4 +- drivers/i2c/busses/i2c-octeon-core.c | 2 +- drivers/i2c/busses/i2c-qup.c | 2 +- drivers/i2c/busses/i2c-s3c2410.c | 2 +- include/uapi/linux/i2c-dev.h | 25 ++---- include/uapi/linux/i2c.h | 128 ++++++++++++++------------- 6 files changed, 76 insertions(+), 87 deletions(-) -- 2.29.2