On Wed Jun 9, 2021 at 4:32 PM EDT, Jonathan Cameron wrote: > On Mon, 7 Jun 2021 10:47:14 -0400 > Liam Beguin <liambeguin@xxxxxxxxx> wrote: > > > From: Liam Beguin <lvb@xxxxxxxxxx> > > > > iio_convert_raw_to_processed_unlocked() applies the offset and scale of > > a channel on it's raw value. > > The processed value returned is always an integer. Return IIO_VAL_INT so > > that consumers can use this return value directly. > > > > Signed-off-by: Liam Beguin <lvb@xxxxxxxxxx> > This looks likely to cause breakage given that return value will go to > consumers directly via iio_convert_raw_to_processed() > > Looks like this will break lmp91000 which checks for error as > > if (ret) > IIO_VAL_INT seems like a better return value here since the consumer gets an integer. I can look at existing consumers and patch those too. Or would you rather I drop this patch? > > --- > > drivers/iio/inkern.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c > > index 0b5667f22b1d..00d234e87234 100644 > > --- a/drivers/iio/inkern.c > > +++ b/drivers/iio/inkern.c > > @@ -618,7 +618,7 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan, > > * raw value and return. > > */ > > *processed = raw * scale; > > - return 0; > > + return IIO_VAL_INT; > > } > > > > switch (scale_type) { > > @@ -652,7 +652,7 @@ static int iio_convert_raw_to_processed_unlocked(struct iio_channel *chan, > > return -EINVAL; > > } > > > > - return 0; > > + return IIO_VAL_INT; > > } > > > > int iio_convert_raw_to_processed(struct iio_channel *chan, int raw,