Re: [PATCH v3] regulator: Use bitfield values for range selectors

From: Matti Vaittinen
Date: Wed Aug 02 2023 - 02:51:57 EST


On 7/14/23 11:14, Chen-Yu Tsai wrote:
Right now the regulator helpers expect raw register values for the range
selectors. This is different from the voltage selectors, which are
normalized as bitfield values. This leads to a bit of confusion. Also,
raw values are harder to copy from datasheets or match up with them,
as datasheets will typically have bitfield values.

Make the helpers expect bitfield values, and convert existing users. The
field in regulator_desc is renamed to |linear_range_selectors_bitfield|.
This is intended to cause drivers added in the same merge window and
out-of-tree drivers using the incorrect variable and values to break,
preventing incorrect values being used on actual hardware and potentially
producing magic smoke.

Also include bitops.h explicitly for ffs(), and reorder the header include
statements. While at it, also replace module.h with export.h, since the
only use is EXPORT_SYMBOL_GPL.

Signed-off-by: Chen-Yu Tsai <wenst@xxxxxxxxxxxx>
---
Changes since v2:
- Changed .linear_range_selectors to .linear_range_selectors_bitfield,
as suggested by David
- Dropped Matti's Reviewed-by due to this intrusive change

Sorry for late reply, I assume this is already merged... I was mostly offline for a month or so - I can recommend, works wonders ;)

Just wanted to say (and in case this is not yet merged) - still looks good to me (helpers and bd718x7 parts).

Yours,
Matti

--
Matti Vaittinen
Linux kernel developer at ROHM Semiconductors
Oulu Finland

~~ When things go utterly wrong vim users can always type :help! ~~