Message ID | 20200219143958.3548-14-jmaneyrol@invensense.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Rework sensors engines and power management | expand |
On Wed, 19 Feb 2020 15:39:58 +0100 Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> wrote: > Temperature sensor works correctly only when accel and/or gyro > is turned on. Prevent polling value if they are not running. > Anyway it doesn't make sense to use it without sensor engines > on. > > Signed-off-by: Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> Applied. Thanks Jonathan > --- > drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > index 750fbc2614f0..94a989368b94 100644 > --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c > @@ -597,6 +597,11 @@ static int inv_mpu6050_read_channel_data(struct iio_dev *indio_dev, > chan->channel2, val); > break; > case IIO_TEMP: > + /* temperature sensor work only with accel and/or gyro */ > + if (!st->chip_config.accl_en && !st->chip_config.gyro_en) { > + result = -EBUSY; > + goto error_power_off; > + } > if (!st->chip_config.temp_en) { > result = inv_mpu6050_switch_engine(st, true, > INV_MPU6050_SENSOR_TEMP);
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c index 750fbc2614f0..94a989368b94 100644 --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c @@ -597,6 +597,11 @@ static int inv_mpu6050_read_channel_data(struct iio_dev *indio_dev, chan->channel2, val); break; case IIO_TEMP: + /* temperature sensor work only with accel and/or gyro */ + if (!st->chip_config.accl_en && !st->chip_config.gyro_en) { + result = -EBUSY; + goto error_power_off; + } if (!st->chip_config.temp_en) { result = inv_mpu6050_switch_engine(st, true, INV_MPU6050_SENSOR_TEMP);
Temperature sensor works correctly only when accel and/or gyro is turned on. Prevent polling value if they are not running. Anyway it doesn't make sense to use it without sensor engines on. Signed-off-by: Jean-Baptiste Maneyrol <jmaneyrol@invensense.com> --- drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 5 +++++ 1 file changed, 5 insertions(+)