When a device enters an idle state (for example ASUS RC71L with s2idle) and an iio driver has a trigger attached such as iio-trig-hrtimer, after resuming the device the trigger is not triggering data acquisition. This patch series solves the problem reliably and is well tested after many cycles and many reboots. Closes: https://lore.kernel.org/all/31d7f7aa-e834-4fd0-a66a-e0ff528425dc@xxxxxxxxx/ Changelog: - V2: patch 2: + Simplify code + Remove unneeded code protections around SET_RUNTIME_PM_OPS() + pm_ptr() to let the compiler drop bmi323_core_pm_ops if !CONFIG_PM - V3: patch 1: + Add pf->irq=0 that was accidentally left out Previous patches obsoleted: https://lore.kernel.org/all/20240727123034.5541-1-benato.denis96@xxxxxxxxx/ https://lore.kernel.org/all/20240725002641.191509-3-benato.denis96@xxxxxxxxx/ Denis Benato (2): iio: trigger: allow devices to suspend/resume theirs associated trigger iio: bmi323: suspend and resume triggering on relevant pm operations drivers/iio/imu/bmi323/bmi323.h | 1 + drivers/iio/imu/bmi323/bmi323_core.c | 23 +++++++++++++++++++++++ drivers/iio/imu/bmi323/bmi323_i2c.c | 1 + drivers/iio/imu/bmi323/bmi323_spi.c | 1 + drivers/iio/industrialio-trigger.c | 27 +++++++++++++++++++++++++++ include/linux/iio/iio.h | 17 +++++++++++++++++ 6 files changed, 70 insertions(+) -- 2.46.0