On Tue, 26 Jul 2022 17:20:48 +0300 Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > Both pressure and temperature are 24-bit long. Use proper accessors > instead of overlapping readings. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Looks correct to me, but it made me scratch my head just enough that I'd like Tomislav to take a look if possible. So give me a poke if this hasn't progressed in a few weeks time. Thanks, Jonathan > --- > drivers/iio/pressure/dlhl60d.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/iio/pressure/dlhl60d.c b/drivers/iio/pressure/dlhl60d.c > index 5f6bb3603a8b..f0b0d198c6d4 100644 > --- a/drivers/iio/pressure/dlhl60d.c > +++ b/drivers/iio/pressure/dlhl60d.c > @@ -129,9 +129,8 @@ static int dlh_read_direct(struct dlh_state *st, > if (ret) > return ret; > > - *pressure = get_unaligned_be32(&st->rx_buf[1]) >> 8; > - *temperature = get_unaligned_be32(&st->rx_buf[3]) & > - GENMASK(DLH_NUM_TEMP_BITS - 1, 0); > + *pressure = get_unaligned_be24(&st->rx_buf[1]); > + *temperature = get_unaligned_be24(&st->rx_buf[4]); > > return 0; > }