Re: [PATCH v4 1/2] iio: pressure: dps310: Refactor startup procedure

From: Jonathan Cameron
Date: Sat Aug 20 2022 - 07:38:50 EST


On Fri, 19 Aug 2022 12:42:00 +0300
Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote:

> On Mon, Aug 15, 2022 at 4:42 PM Eddie James <eajames@xxxxxxxxxxxxx> wrote:
> > On 8/12/22 17:03, Andy Shevchenko wrote:
> > > On Wed, Aug 10, 2022 at 12:12 AM Eddie James <eajames@xxxxxxxxxxxxx> wrote:
>
> ...
>
> > >> + rc = regmap_write(data->regmap, 0x0e, 0xA5);
> > >> + if (rc)
> > >> + return rc;
> > >> +
> > >> + rc = regmap_write(data->regmap, 0x0f, 0x96);
> > >> + if (rc)
> > >> + return rc;
> > > This code already exists, but still want to ask, is it really
> > > byte-registers here and not be16/le16 one? In such a case perhaps bulk
> > > write can be used to reflect it better?
> >
> > The temperature and pressure regs are 24 bits big endian, and all the
> > rest are 8 bits. I think the existing approach is best.
>
> It doesn't look like you got what I was meaning... Or I misunderstood
> what you said.
>
> The code above writes two byte values to two sequential registers
> which make me think that they are 16-bit registers at offset 0x0e.

Given they are undocumented, this is guessing territory.
Probably best to just leave them as is.
You could do a bulk write on an array though as that implies
nothing about what's in the registers -just that they happen
to be next to each other.

>
> ...
>
> > >> + rc = regmap_write(data->regmap, 0x0e, 0x00);
> > >> + if (rc)
> > >> + return rc;
> > >> +
> > >> + return regmap_write(data->regmap, 0x0f, 0x00);
>
> Ditto.
>