Messages in this thread | | | From | Dmitry Torokhov <> | Subject | [PATCH v3 0/3] Use void pointers instead of char in I2C transfer APIs | Date | Tue, 12 Nov 2019 12:31:29 -0800 |
| |
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(-)
-- 2.24.0.rc1.363.gb1bccd3e3d-goog
| |