linux/drivers/iio/imu
Linmao Li 87775fff21 iio: imu: inv_icm42607: restore runtime PM on system resume errors
pm_runtime_force_suspend() leaves runtime PM disabled after it succeeds and
expects pm_runtime_force_resume() to restore runtime PM management during
system resume.

The resume callback returns early if enabling the vddio regulator or
synchronizing the register cache fails, skipping the matching
pm_runtime_force_resume() call. Runtime PM consequently remains disabled
after the system has resumed, so runtime autosuspend can no longer turn off
sensors enabled afterward.

Call pm_runtime_force_resume() on both error paths. Keep the first error as
the return value and report a runtime PM restore failure separately.

Fixes: 3007c1530f ("iio: imu: inv_icm42607: Add PM support for icm42607")
Signed-off-by: Linmao Li <lilinmao@kylinos.cn>
Tested-by: Kanak Shilledar <kanak.shilledar@axis.com>
Tested-by: Chris Morgan <macromorgan@hotmail.com>
Signed-off-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
History 2026-09-30 18:59:55 +01:00
..
bmi160 IIO new device support, features, cleanup for 7.3 2026-08-19 09:45:01 +02:00
bmi270 iio: imu: Remove redundant dev_err()/dev_err_probe() 2026-07-27 22:13:07 +01:00
bmi323 iio: imu: Remove redundant dev_err()/dev_err_probe() 2026-07-27 22:13:07 +01:00
bno055 Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
inv_icm42600 IIO new device support, features, cleanup for 7.3 2026-08-19 09:45:01 +02:00
inv_icm42607 iio: imu: inv_icm42607: restore runtime PM on system resume errors 2026-09-30 18:59:55 +01:00
inv_icm45600 Linux 7.2-rc2 2026-07-06 16:59:47 +01:00
inv_mpu6050 Linux 7.2-rc2 2026-07-06 16:59:47 +01:00
smi330 Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
st_lsm6dsx IIO new device support, features, cleanup for 7.3 2026-08-19 09:45:01 +02:00
st_lsm9ds0 Linux 7.2-rc2 2026-07-06 16:59:47 +01:00
adis.c iio: imu: adis: Fix NULL pointer dereference in adis_init 2026-02-23 08:24:39 +00:00
adis16400.c iio: imu: adis16400: fix unprotected debugfs reads 2026-08-31 00:52:42 +01:00
adis16460.c iio: Drop unused assignment of spi_device_id driver data 2026-06-30 00:15:56 +01:00
adis16475.c Linux 7.2-rc2 2026-07-06 16:59:47 +01:00
adis16480.c iio: imu: adis16480: fix unprotected debugfs reads 2026-08-31 00:52:41 +01:00
adis16550.c Linux 7.2-rc2 2026-07-06 16:59:47 +01:00
adis_buffer.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
adis_trigger.c iio: imu: adis: add IRQF_NO_THREAD to non-FIFO trigger IRQ 2026-06-29 23:24:46 +01:00
fxos8700.h iio: imu: Add support for the FXOS8700 IMU 2019-10-22 10:24:50 +01:00
fxos8700_core.c iio: imu: fix typos in comments 2026-07-02 18:06:32 +01:00
fxos8700_i2c.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
fxos8700_spi.c Linux 7.2-rc2 2026-07-06 16:59:47 +01:00
Kconfig iio: imu: inv_icm42607: Add inv_icm42607 Core Driver 2026-08-03 22:32:31 +01:00
kmx61.c Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files) 2026-07-03 07:38:17 +02:00
Makefile iio: imu: inv_icm42607: Add inv_icm42607 Core Driver 2026-08-03 22:32:31 +01:00
smi240.c iio: Initialize spi_device_id arrays using member names 2026-06-30 00:15:56 +01:00