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

From: Eddie James
Date: Tue Sep 06 2022 - 15:48:44 EST



On 8/20/22 06:49, Jonathan Cameron wrote:
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.


Indeed. Is it worth it to switch to bulk write for two 2-byte writes? I'm inclined to say no and will leave this as-is for v6, but if you think it is, I can switch it.


Thanks,

Eddie



...

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