Re: [PATCH 13/13] iio: imu: inv_mpu6050: temperature only work with accel/gyro

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

OK it makes sense. I will use -EBUSY in v2

JB


From: linux-iio-owner@xxxxxxxxxxxxxxx <linux-iio-owner@xxxxxxxxxxxxxxx> on behalf of Jonathan Cameron <jic23@xxxxxxxxxx>

Sent: Saturday, February 15, 2020 19:23

To: Jean-Baptiste Maneyrol <JManeyrol@xxxxxxxxxxxxxx>

Cc: linux-iio@xxxxxxxxxxxxxxx <linux-iio@xxxxxxxxxxxxxxx>

Subject: Re: [PATCH 13/13] iio: imu: inv_mpu6050: temperature only work with accel/gyro

 


 CAUTION: This email originated from outside of the organization. Please make sure the sender is who they say they are and do not click links or open attachments unless you recognize the sender and know the content is safe.



On Wed, 12 Feb 2020 18:40:48 +0100

Jean-Baptiste Maneyrol <jmaneyrol@xxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxx>

> ---

>  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 f698d2aa61f4..3212030cc083 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 = -ENOTSUPP;



I'd suggest -EBUSY to indicate that it might work sometime in the future.



> +                     goto error_power_off;

> +             }

>                if (!st->chip_config.temp_en) {

>                        result = inv_mpu6050_switch_engine(st, true,

>                                        INV_MPU6050_SENSOR_TEMP);







[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux