Re: [PATCH v9 6/8] iio: adc: Support ROHM BD79124 ADC

From: Matti Vaittinen
Date: Fri Mar 21 2025 - 08:18:25 EST


On 21/03/2025 14:06, Andy Shevchenko wrote:
On Fri, Mar 21, 2025 at 10:01:00AM +0200, Matti Vaittinen wrote:
On 20/03/2025 15:16, Andy Shevchenko wrote:
On Thu, Mar 20, 2025 at 10:22:00AM +0200, Matti Vaittinen wrote:

You can get rid of all of these by simply using __le16. I do not understand why
it's not used so far. I thought that bits are mirrored, that may explain the
case, but now I do not see any problem to use __le16 directly.


This discussion is going in circles now. That was discussed in the RFC review with Jonathan, which I did also tell to you during the v7 review:

...

> And how this is different from treating it as __le16? Needs a good comment
> about bit layout.

You don't think:
>> +struct bd79124_raw {
>> + u8 bit0_3; /* Is set in high bits of the byte */
>> + u8 bit4_11;
>> +};
suffices? It's hard for me to think how to explain bit layout more
explicitly.

This was discussed during the RFC review. I explained the rationale why
I rather represent this as two 8 bit variables than le16 with
(mysterious to me) shift. As a result, Jonathan told me he's not feeling
(too) strong about this (but also warned we may see follow-up patches
converting this to le and shift - which, by the way, is harder for me to
understand).

https://lore.kernel.org/all/bb403ddb-5c6f-4286-8d80-3ede40f94dc2@xxxxxxxxx/

...

Yours,
-- Matti