mbox series

[v2,00/13] Rework sensors engines and power management

Message ID 20200219143958.3548-1-jmaneyrol@invensense.com (mailing list archive)
Headers show
Series Rework sensors engines and power management | expand

Message

Jean-Baptiste Maneyrol Feb. 19, 2020, 2:39 p.m. UTC
The goal of this series is to rework sensors engines and power
management using runtime power with autosuspend. By reducing power
on/off it enables correct usage of the polling interface at low
frequencies. It also simplifies a lot of things inside the driver,
making it much more simpler and easier to read.

The series also include several reworks required to have the
implementation working.

Changelog:
- v2
  * use runtime pm with autosuspend:
    - add comments and fix whitespace changes
    - delete ifdefs of CONFIG_PM_* and replace with __maybe_unused functions
  * temperature only work with accel/gyro
    - replace error code with EBUSY

Jean-Baptiste Maneyrol (13):
  iio: imu: inv_mpu6050: enable i2c aux mux bypass only once
  iio: imu: inv_mpu6050: delete useless check
  iio: imu: inv_mpu6050: set power on/off only once during all init
  iio: imu: inv_mpu6050: simplify polling magnetometer
  iio: imu: inv_mpu6050: early init of chip_config for use at setup
  iio: imu: inv_mpu6050: add all signal path resets at init
  iio: imu: inv_mpu6050: fix sleep time when turning regulators on
  iio: imu: inv_mpu6050: rewrite power and engine management
  iio: imu: inv_mpu6050: fix data polling interface
  iio: imu: inv_mpu6050: factorize fifo enable/disable
  iio: imu: inv_mpu6050: dynamic sampling rate change
  iio: imu: inv_mpu6050: use runtime pm with autosuspend
  iio: imu: inv_mpu6050: temperature only work with accel/gyro

 drivers/iio/imu/inv_mpu6050/inv_mpu_core.c    | 562 +++++++++++++-----
 drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c     |  62 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h     |  38 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_magn.c    |  49 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_magn.h    |   5 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_ring.c    |  57 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c     |  10 +-
 drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c | 160 ++---
 8 files changed, 571 insertions(+), 372 deletions(-)