[lkml]   [2019]   [Nov]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH v3 0/3] Use void pointers instead of char in I2C transfer APIs
While we indeed often deal with a stream of bytes when executing a
transfer, at the higher layers we usually work with more structured
data, and there is not really a reason to require casts to u8 * form the
callers. These series change I2C APIs to accept [const] void pointers,
and also adjust SMBUS implementation to use get/put_unaligned_16() and
memcpy() for moving data around.

Changes in v3:
- addressed Luca's comments
- added Jonathan's Acked-by
- split put_unaligned_le16 into a separate patch
- more call sites converted to get/put_unaligned_le16
- new patch using memcpy() for moving data around

Changes in v2:
- adjusted max1363 to the new i2c_master_send/recv signatures

Dmitry Torokhov (3):
i2c: use void pointers for supplying data for reads and writes
i2c: smbus: use get/put_unaligned_le16 when working with word data
i2c: smbus: switch from loops to memcpy

drivers/i2c/i2c-core-base.c | 2 +-
drivers/i2c/i2c-core-smbus.c | 40 +++++++++++++++---------------------
drivers/iio/adc/max1363.c | 14 +++++++------
include/linux/i2c.h | 28 +++++++++++++------------
4 files changed, 41 insertions(+), 43 deletions(-)


 \ /
  Last update: 2019-11-12 21:32    [W:0.159 / U:3.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site