On 10.06.2021 16:21:30, Andy Shevchenko wrote: > On Thu, Jun 10, 2021 at 3:55 PM Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> wrote: > > > > From: Oliver Lang <Oliver.Lang@xxxxxxxxxxxxxxxxxxx> > > > > The PS ADC Channel data is spread over 2 registers in little-endian > > form. This patch adds the missing endianness conversion. > > > > Fixes: 2690be905123 ("iio: Add Lite-On ltr501 ambient light / proximity sensor driver") > > Signed-off-by: Oliver Lang <Oliver.Lang@xxxxxxxxxxxxxxxxxxx> > > Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> > > --- > > drivers/iio/light/ltr501.c | 16 ++++++---------- > > 1 file changed, 6 insertions(+), 10 deletions(-) > > > > diff --git a/drivers/iio/light/ltr501.c b/drivers/iio/light/ltr501.c > > index 79898b72fe73..0e3f97ef3cdd 100644 > > --- a/drivers/iio/light/ltr501.c > > +++ b/drivers/iio/light/ltr501.c > > @@ -407,20 +407,16 @@ static int ltr501_read_als(const struct ltr501_data *data, __le16 buf[2]) > > buf, 2 * sizeof(__le16)); > > } > > > > -static int ltr501_read_ps(const struct ltr501_data *data) > > +static int ltr501_read_ps(const struct ltr501_data *data, __le16 *buf) > > { > > - int ret, status; > > + int ret; > > > > ret = ltr501_drdy(data, LTR501_STATUS_PS_RDY); > > if (ret < 0) > > return ret; > > > > - ret = regmap_bulk_read(data->regmap, LTR501_PS_DATA, > > - &status, 2); > > - if (ret < 0) > > - return ret; > > - > > - return status; > > + return regmap_bulk_read(data->regmap, LTR501_PS_DATA, > > + buf, sizeof(__le16)); > > This is slightly weird since we pass a pointer to a buffer of one > element (buffer can be longer, but here it's always one element is in > use). The original code is better (initially). Also making caller to > do endiannes conversion each time is not good. We decided to implement the same semantics as ltr501_read_als(), where the caller does the endianness conversion. I'll change the code and send a v2 (with a proper cover letter subject :)) regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Attachment:
signature.asc
Description: PGP signature