[PATCH 0/3] iio: accel: bmc150: DMA-safe buffers and use iio_push_to_buffers_with_ts()
From: Yash Suthar
Date: Fri Aug 14 2026 - 06:21:02 EST
The trigger path used a plain s16 buffer while the FIFO path already had
a properly typed scan member (__le16 + aligned timestamp). Those two
buffers did the same job, and s16 does not represent little-endian data.
Drop the duplicate, keep scan at the end of struct bmc150_accel_data with
IIO_DMA_MINALIGN, and use it for both the trigger and FIFO paths.
The FIFO and read_raw buffers are passed to regmap bulk/raw reads, which
is not DMA-safe. Move them into struct bmc150_accel_data after scan and
aligned to IIO_DMA_MINALIGN.
Finally, replace the deprecated iio_push_to_buffers_with_timestamp() with
iio_push_to_buffers_with_ts() so the push sites pass an explicit buffer
size.
This supersedes the earlier standalone patches:
Link: https://lore.kernel.org/linux-iio/20260808220236.421832-1-yashsuthar983@xxxxxxxxx/
Link: https://lore.kernel.org/linux-iio/20260809111303.496393-1-yashsuthar983@xxxxxxxxx/
Yash Suthar (3):
iio: accel: bmc150: use aligned scan buffer for both trigger and fifo
iio: accel: bmc150: use DMA-safe buffers for regmap bulk reads
iio: accel: bmc150: use iio_push_to_buffers_with_ts()
drivers/iio/accel/bmc150-accel-core.c | 28 ++++++++++++---------------
drivers/iio/accel/bmc150-accel.h | 20 ++++++++++---------
2 files changed, 23 insertions(+), 25 deletions(-)
--
2.43.0