OpenCloudOS-Kernel/drivers/iio/accel
Miaoqian Lin 632fe0bb8c iio: Fix error handling for PM
The pm_runtime_enable will increase power disable depth.
If the probe fails, we should use pm_runtime_disable() to balance
pm_runtime_enable(). In the PM Runtime docs:
    Drivers in ->remove() callback should undo the runtime PM changes done
    in ->probe(). Usually this means calling pm_runtime_disable(),
    pm_runtime_dont_use_autosuspend() etc.
We should do this in error handling.

Fix this problem for the following drivers: bmc150, bmg160, kmx61,
kxcj-1013, mma9551, mma9553.

Fixes: 7d0ead5c3f ("iio: Reconcile operation order between iio_register/unregister and pm functions")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220106112309.16879-1-linmq006@gmail.com
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2022-01-30 14:50:34 +00:00
..
Kconfig iio: accel: adxl355: Add triggered buffer support 2021-09-14 12:00:35 +01:00
Makefile iio: accel: Add driver support for ADXL313 2021-09-14 12:00:35 +01:00
adis16201.c iio: adis: Cleanout unused headers 2021-06-04 09:28:10 +01:00
adis16209.c iio: adis: Cleanout unused headers 2021-06-04 09:28:10 +01:00
adxl313.h iio: accel: Add driver support for ADXL313 2021-09-14 12:00:35 +01:00
adxl313_core.c iio: accel: Add driver support for ADXL313 2021-09-14 12:00:35 +01:00
adxl313_i2c.c iio: accel: Add driver support for ADXL313 2021-09-14 12:00:35 +01:00
adxl313_spi.c iio: accel: Add driver support for ADXL313 2021-09-14 12:00:35 +01:00
adxl345.h iio: accel: adxl345: convert probe to device-managed functions 2021-07-19 09:51:59 +01:00
adxl345_core.c iio: accel: adxl345: convert probe to device-managed functions 2021-07-19 09:51:59 +01:00
adxl345_i2c.c iio: accel: adxl345: convert probe to device-managed functions 2021-07-19 09:51:59 +01:00
adxl345_spi.c iio: accel: adxl345: convert probe to device-managed functions 2021-07-19 09:51:59 +01:00
adxl355.h iio: accel: Add driver support for ADXL355 2021-09-14 12:00:30 +01:00
adxl355_core.c iio: accel: adxl355: Add triggered buffer support 2021-09-14 12:00:35 +01:00
adxl355_i2c.c iio: accel: Add driver support for ADXL355 2021-09-14 12:00:30 +01:00
adxl355_spi.c iio: accel: Add driver support for ADXL355 2021-09-14 12:00:30 +01:00
adxl372.c iio: triggered-buffer: extend support to configure output buffers 2021-10-19 08:30:45 +01:00
adxl372.h iio: adxl372: Add support for I2C communication 2018-09-08 15:54:38 +01:00
adxl372_i2c.c iio: adxl372_i2c: Add OF device ID table 2020-08-22 10:53:16 +01:00
adxl372_spi.c iio: adxl372_spi: change indentation for of_table 2020-08-22 10:53:15 +01:00
bma180.c iio:accel:bma180: Suppress clang W=1 warning about pointer to enum conversion. 2021-12-16 18:02:34 +00:00
bma220_spi.c iio: bma220: Use scan_type when processing raw data 2021-11-17 17:51:40 +00:00
bma400.h iio: accel: bma400: Make bma400_remove() return void 2021-10-19 08:30:45 +01:00
bma400_core.c iio: accel: bma400: Make bma400_remove() return void 2021-10-19 08:30:45 +01:00
bma400_i2c.c iio: accel: bma400: Make bma400_remove() return void 2021-10-19 08:30:45 +01:00
bma400_spi.c iio: accel: bma400: Make bma400_remove() return void 2021-10-19 08:30:45 +01:00
bmc150-accel-core.c iio: Fix error handling for PM 2022-01-30 14:50:34 +00:00
bmc150-accel-i2c.c iio: accel: bmc150: Make bmc150_accel_core_remove() return void 2021-10-19 08:30:45 +01:00
bmc150-accel-spi.c iio: accel: bmc150: Make bmc150_accel_core_remove() return void 2021-10-19 08:30:45 +01:00
bmc150-accel.h iio: accel: bmc150: Make bmc150_accel_core_remove() return void 2021-10-19 08:30:45 +01:00
bmi088-accel-core.c iio: accel: bmi088: Make bmi088_accel_core_remove() return void 2021-10-19 08:30:45 +01:00
bmi088-accel-spi.c iio: accel: bmi088: Make bmi088_accel_core_remove() return void 2021-10-19 08:30:45 +01:00
bmi088-accel.h iio: accel: bmi088: Make bmi088_accel_core_remove() return void 2021-10-19 08:30:45 +01:00
cros_ec_accel_legacy.c iio: cros: unify hw fifo attributes without API changes 2021-03-25 19:13:52 +00:00
da280.c iio: accel: da280: convert probe to device-managed functions 2021-07-17 18:57:55 +01:00
da311.c iio: accel: da311: convert probe to device-managed functions 2021-07-17 18:53:53 +01:00
dmard06.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
dmard09.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
dmard10.c iio: accel: dmard10: convert probe to device-managed functions 2021-07-17 18:52:52 +01:00
fxls8962af-core.c iio: accel: fxls8962af: add padding to regmap for SPI 2022-01-23 18:23:48 +00:00
fxls8962af-i2c.c iio: accel: fxls8962af: add padding to regmap for SPI 2022-01-23 18:23:48 +00:00
fxls8962af-spi.c iio: accel: fxls8962af: add padding to regmap for SPI 2022-01-23 18:23:48 +00:00
fxls8962af.h iio: accel: fxls8962af: add padding to regmap for SPI 2022-01-23 18:23:48 +00:00
hid-sensor-accel-3d.c iio: hid-sensors: bind IIO channels alloc to device object 2021-07-13 18:21:53 +01:00
kxcjk-1013.c iio: Fix error handling for PM 2022-01-30 14:50:34 +00:00
kxsd9-i2c.c iio: accel: kxsd9: Make kxsd9_common_remove() return void 2021-10-19 08:30:45 +01:00
kxsd9-spi.c iio: accel: kxsd9: Make kxsd9_common_remove() return void 2021-10-19 08:30:45 +01:00
kxsd9.c iio: kxsd9: Don't return error code in trigger handler 2021-11-17 17:52:33 +00:00
kxsd9.h iio: accel: kxsd9: Make kxsd9_common_remove() return void 2021-10-19 08:30:45 +01:00
mc3230.c iio: Remove kernel-doc keyword in file header comment 2021-03-25 19:13:49 +00:00
mma7455.h iio: accel: mma7455: Make mma7455_core_remove() return void 2021-10-19 08:30:45 +01:00
mma7455_core.c iio: mma7455: Use scan_type when processing raw data 2021-11-17 17:51:41 +00:00
mma7455_i2c.c iio: accel: mma7455: Make mma7455_core_remove() return void 2021-10-19 08:30:45 +01:00
mma7455_spi.c iio: accel: mma7455: Make mma7455_core_remove() return void 2021-10-19 08:30:45 +01:00
mma7660.c iio: accel: mma7660: Warn about failure to put device in stand-by in .remove() 2021-11-17 17:51:31 +00:00
mma8452.c 1st set of IIO new device support, features and cleanup for 5.17 2021-12-22 12:33:01 +01:00
mma9551.c iio: Fix error handling for PM 2022-01-30 14:50:34 +00:00
mma9551_core.c iio: accel: mma9551/3: Balance untime pm + use pm_runtime_resume_and_get() 2021-05-17 13:54:25 +01:00
mma9551_core.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 288 2019-06-05 17:36:37 +02:00
mma9553.c iio: Fix error handling for PM 2022-01-30 14:50:34 +00:00
mxc4005.c iio: accel: mxc4005: Fix overread of data and alignment issue. 2021-05-17 13:54:28 +01:00
mxc6255.c iio: remove explicit IIO device parent assignment 2020-06-14 11:49:59 +01:00
sca3000.c iio: sca3000: Use scan_type when processing raw data 2021-11-17 17:51:41 +00:00
sca3300.c iio: accel: Add driver for Murata SCA3300 accelerometer 2021-05-17 13:49:09 +01:00
ssp_accel_sensor.c iio: make use of devm_iio_kfifo_buffer_setup() helper 2021-03-11 20:47:01 +00:00
st_accel.h iio: accel: st_accel: use devm_iio_triggered_buffer_setup() for buffer 2021-07-24 16:35:05 +01:00
st_accel_buffer.c iio: accel: st_accel: use devm_iio_triggered_buffer_setup() for buffer 2021-07-24 16:35:05 +01:00
st_accel_core.c iio: st_sensors: remove reference to parent device object on st_sensor_data 2021-09-14 12:00:32 +01:00
st_accel_i2c.c iio: st_sensors: remove all driver remove functions 2021-09-14 12:00:31 +01:00
st_accel_spi.c iio: st_sensors: remove all driver remove functions 2021-09-14 12:00:31 +01:00
stk8ba50.c iio: stk8ba50: Use scan_type when processing raw data 2021-11-17 17:51:42 +00:00
stk8312.c iio: stk8312: Use scan_type when processing raw data 2021-11-17 17:51:41 +00:00