Re: [PATCH v2 05/10] iio: pressure: mprls0025pa.c fix error flag check

From: Jonathan Cameron
Date: Tue Dec 26 2023 - 11:35:33 EST


On Sun, 24 Dec 2023 16:34:50 +0200
Petre Rodan <petre.rodan@xxxxxxxxxxxxxxx> wrote:

> Take into account all 3 error flags while interacting with the sensor.
> Based on the datasheet, in table 14 on page 14, the status byte
> contains:
> bit 5 busy flag - 1 if device is busy
> bit 2 memory integrity/error flag - 1 if integrity test failed
> bit 0 math saturation - 1 if internal math saturation has occurred
>
> Signed-off-by: Petre Rodan <petre.rodan@xxxxxxxxxxxxxxx>
> Signed-off-by: Andreas Klinger <ak@xxxxxxxxxxxxx>
I've not problem with the patch, but the 'fix' in the titles means this should
have a fixes tag. I'm not sure that improving the resilience to device errors
is something we count as a fix however. Maybe more of a feature or improvement
in which case don't say fix.
Also, drop the .c in the patch title to be inline with similar patches in IIO.

Thanks,

Jonathan

> ---
> drivers/iio/pressure/mprls0025pa.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/pressure/mprls0025pa.c b/drivers/iio/pressure/mprls0025pa.c
> index e3f0de020a40..233cc1dc38ad 100644
> --- a/drivers/iio/pressure/mprls0025pa.c
> +++ b/drivers/iio/pressure/mprls0025pa.c
> @@ -39,6 +39,8 @@
> #define MPR_I2C_MEMORY BIT(2) /* integrity test passed */
> #define MPR_I2C_MATH BIT(0) /* internal math saturation */
>
> +#define MPR_I2C_ERR_FLAG (MPR_I2C_BUSY | MPR_I2C_MEMORY | MPR_I2C_MATH)
> +
> /*
> * support _RAW sysfs interface:
> *
> @@ -213,7 +215,7 @@ static int mpr_read_pressure(struct mpr_data *data, s32 *press)
> status);
> return status;
> }
> - if (!(status & MPR_I2C_BUSY))
> + if (!(status & MPR_I2C_ERR_FLAG))
> break;
> }
> if (i == nloops) {
> @@ -233,7 +235,7 @@ static int mpr_read_pressure(struct mpr_data *data, s32 *press)
> return -EIO;
> }
>
> - if (buf[0] & MPR_I2C_BUSY) {
> + if (buf[0] & MPR_I2C_ERR_FLAG) {
> /*
> * it should never be the case that status still indicates
> * business
> --
> 2.41.0
>
>