2023-10-30 02:08:13

by Su Hui

[permalink] [raw]
Subject: [PATCH] iio: imu: inv_mpu6050: return callee's error code rather than -EINVAL

regmap_bulk_write()/regmap_bulk_read() return zero or negative error
code, return the callee's error code is better than '-EINVAL'.

Signed-off-by: Su Hui <[email protected]>
---
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index a9a5fb266ef1..5ded0781797c 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -572,7 +572,7 @@ static int inv_mpu6050_sensor_set(struct inv_mpu6050_state *st, int reg,
ind = (axis - IIO_MOD_X) * 2;
result = regmap_bulk_write(st->map, reg + ind, &d, sizeof(d));
if (result)
- return -EINVAL;
+ return result;

return 0;
}
@@ -586,7 +586,7 @@ static int inv_mpu6050_sensor_show(struct inv_mpu6050_state *st, int reg,
ind = (axis - IIO_MOD_X) * 2;
result = regmap_bulk_read(st->map, reg + ind, &d, sizeof(d));
if (result)
- return -EINVAL;
+ return result;
*val = (short)be16_to_cpup(&d);

return IIO_VAL_INT;
--
2.30.2


2023-11-26 17:07:28

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH] iio: imu: inv_mpu6050: return callee's error code rather than -EINVAL

On Mon, 30 Oct 2023 10:07:53 +0800
Su Hui <[email protected]> wrote:

> regmap_bulk_write()/regmap_bulk_read() return zero or negative error
> code, return the callee's error code is better than '-EINVAL'.
Thanks and fully agree - though one small tweak I made whilst applying is mentioned
below.

Applied to the togreg branch of iio.git and pushed out as testing for 0-day
to see if we missed anything.

>
> Signed-off-by: Su Hui <[email protected]>
> ---
> drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> index a9a5fb266ef1..5ded0781797c 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> @@ -572,7 +572,7 @@ static int inv_mpu6050_sensor_set(struct inv_mpu6050_state *st, int reg,
> ind = (axis - IIO_MOD_X) * 2;
> result = regmap_bulk_write(st->map, reg + ind, &d, sizeof(d));
> if (result)
> - return -EINVAL;
> + return result;
>
> return 0;
I tweaked this to go further

return regmap_bulk_write();

> }
> @@ -586,7 +586,7 @@ static int inv_mpu6050_sensor_show(struct inv_mpu6050_state *st, int reg,
> ind = (axis - IIO_MOD_X) * 2;
> result = regmap_bulk_read(st->map, reg + ind, &d, sizeof(d));
> if (result)
> - return -EINVAL;
> + return result;
> *val = (short)be16_to_cpup(&d);
>
> return IIO_VAL_INT;