[PATCH v7 00/10] iio: pressure: dps310: FIFO and triggered buffer support
From: Rupesh Majhi
Date: Fri Sep 18 2026 - 08:36:30 EST
v6 had FIFO support as one patch. Andy asked for a split, so ten here.
Buffered capture without a trigger, draining hardware FIFO on a timer.
Patch 6 adds an IIO core accessor Jonathan asked for; patch 7 uses it to
refuse timestamp channel, as FIFO entries carry none.
Pressure read before first temperature is held, not dropped.
Tested on a DPS310 on a BeagleBone Black, pressure 32 Hz, temperature 1 Hz,
watermark 1. v6 stalled on two of six buffer enables; this series on none
of twelve, at 90 to 98 scans per 3 s trial against 96 ideal.
Patch 10 opts into clang context analysis and comes last, so it can be
dropped alone. Built with clang 23 and CONFIG_WARN_CONTEXT_ANALYSIS, no
warnings.
Deferred to a cleanup series: min_t() to min(), 1000 to KILO,
30 * USEC_PER_MSEC, David's define sort, c00/c10 via get_unaligned_be24().
Rupesh Majhi (10):
iio: pressure: dps310: fix CFG_REG bit definitions
iio: pressure: dps310: use a local device pointer in probe
iio: pressure: dps310: use get_unaligned_be24() for the 24-bit results
iio: pressure: dps310: take the lock once per raw read
iio: pressure: dps310: add triggered buffer support
iio: core: add an accessor for scan_timestamp
iio: pressure: dps310: read buffered samples from the hardware FIFO
iio: pressure: dps310: derive the drain interval from the watermark
iio: pressure: dps310: implement .hwfifo_flush_to_buffer()
iio: pressure: dps310: check the lock markings with context analysis
drivers/iio/pressure/Kconfig | 2 +
drivers/iio/pressure/Makefile | 2 +
drivers/iio/pressure/dps310.c | 726 ++++++++++++++++++++++++++++++----
include/linux/iio/iio.h | 9 +
4 files changed, 652 insertions(+), 87 deletions(-)
base-commit: 61718ed183599e5162496b5306c3377a925d21cd
--
2.43.0