Message ID | 20231224143500.10940-6-petre.rodan@subdimension.ro (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | changes to mprls0025pa | expand |
On Sun, 24 Dec 2023 16:34:50 +0200 Petre Rodan <petre.rodan@subdimension.ro> 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@subdimension.ro> > Signed-off-by: Andreas Klinger <ak@it-klinger.de> 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 > >
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