mbox series

[0/8] i2c: improve RECV_LEN documentation & usage

Message ID 20210109124314.27466-1-wsa+renesas@sang-engineering.com (mailing list archive)
Headers show
Series i2c: improve RECV_LEN documentation & usage | expand

Message

Wolfram Sang Jan. 9, 2021, 12:43 p.m. UTC
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(-)

Comments

Wolfram Sang Jan. 22, 2021, 9:02 a.m. UTC | #1
On Sat, Jan 09, 2021 at 01:43:04PM +0100, Wolfram Sang wrote:
> 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 +-

Applied to for-next, thanks!