mbox series

[v3,0/2] iio: fix bug with triggers not resuming after sleep

Message ID 20240807185619.7261-1-benato.denis96@gmail.com (mailing list archive)
Headers show
Series iio: fix bug with triggers not resuming after sleep | expand

Message

Denis Benato Aug. 7, 2024, 6:56 p.m. UTC
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@gmail.com/

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@gmail.com/
https://lore.kernel.org/all/20240725002641.191509-3-benato.denis96@gmail.com/

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(+)

Comments

Jonathan Cameron Aug. 10, 2024, 10:20 a.m. UTC | #1
On Wed,  7 Aug 2024 20:56:17 +0200
Denis Benato <benato.denis96@gmail.com> wrote:

> 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@gmail.com/
> 
> 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
Dropped v2 and picked up v3.

Thanks,

Jonathan

> 
> Previous patches obsoleted:
> https://lore.kernel.org/all/20240727123034.5541-1-benato.denis96@gmail.com/
> https://lore.kernel.org/all/20240725002641.191509-3-benato.denis96@gmail.com/
> 
> 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(+)
>