[RESEND PATCH 00/14] IIO: Ensure iio_trigger_poll() is of the device owned trigger.
From: Jonathan Cameron
Date: Sun Nov 08 2026 - 23:30:24 EST
From: Jonathan Cameron <jonathan.cameron@xxxxxxxxxxxxxxxx>
Resend due to wrong linux-iio email address. Sorry for the noise!
LLM used to help pull this fairly straight forward series together.
The primary aim here is to ensure a clean layering between the two sides
of the trigger / pollfunc (push to buffers) divide. The caller of
iio_trigger_poll() and iio_trigger_poll_nested() should be using data
relevant to the trigger, not iio_dev->trig which is the
current_trigger for the device. Most drivers got this layering right,
but not this set!
This is also step 1 in a plan to make iio_dev->trig opaque allowing
more control of how it is assigned and avoiding traps around lifetimes.
Includes one precursor fix that has been broken long enough I think
we can just merge it via the slow path along with the rest of these.
Jonathan Cameron (14):
iio: accel: mma8452: unregister own trigger rather than current one
iio: accel: mma8452: poll own trigger from interrupt handler
iio: adc: max1027: poll own trigger from interrupt handler
iio: adc: ti-ads1119: poll own trigger from interrupt handler
iio: adc: mxs-lradc-adc: poll own trigger from interrupt handler
iio: adc: at91-sama5d2: poll own trigger on data ready interrupt
iio: light: vl6180: poll own trigger from interrupt handler
iio: proximity: vl53l0x-i2c: poll own trigger from interrupt handler
iio: adc: ad4691: poll own trigger from interrupt handler
iio: chemical: scd30: poll own trigger from interrupt handler
iio: proximity: vl53l1x-i2c: poll own trigger from interrupt handler
iio: proximity: irsd200: poll own trigger from interrupt handler
iio: light: vcnl4000: poll own trigger from interrupt handler
iio: adc: at91_adc: poll the enabled trigger from interrupt handler
drivers/iio/accel/mma8452.c | 11 ++++++++---
drivers/iio/adc/ad4691.c | 4 +++-
drivers/iio/adc/at91-sama5d2_adc.c | 2 +-
drivers/iio/adc/at91_adc.c | 6 ++++--
drivers/iio/adc/max1027.c | 2 +-
drivers/iio/adc/mxs-lradc-adc.c | 2 +-
drivers/iio/adc/ti-ads1119.c | 2 +-
drivers/iio/chemical/scd30.h | 2 ++
drivers/iio/chemical/scd30_core.c | 4 +++-
drivers/iio/light/vcnl4000.c | 4 +++-
drivers/iio/light/vl6180.c | 2 +-
drivers/iio/proximity/irsd200.c | 4 +++-
drivers/iio/proximity/vl53l0x-i2c.c | 2 +-
drivers/iio/proximity/vl53l1x-i2c.c | 4 +++-
14 files changed, 35 insertions(+), 16 deletions(-)
--
2.56.0