Re: [PATCH 00/14] IIO: Ensure iio_trigger_poll() is of the device owned trigger.
From: Jonathan Cameron
Date: Sun Nov 08 2026 - 23:23:06 EST
On Mon, 9 Nov 2026 03:52:38 +0000
Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
> From: Jonathan Cameron <jonathan.cameron@xxxxxxxxxxxxxxxx>
Sorry all. I can't even type linux-iio@xxxxxxxxxxxxxxx
So please wait and reply to the resend.
>
> 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(-)
>