On 02/03/2025 05:40, Jonathan Cameron wrote:
On Mon, 24 Feb 2025 20:33:29 +0200
Matti Vaittinen <mazziesaccount@xxxxxxxxx> wrote:
The new devm_iio_adc_device_alloc_chaninfo() -helper is intended to help
drivers avoid open-coding the for_each_node -loop for getting the
channel IDs. The helper provides standard way to detect the ADC channel
nodes (by the node name), and a standard way to convert the "reg",
"diff-channels", "single-channel" and the "common-mode-channel" to
channel identification numbers used in the struct iio_chan_spec.
Needs an update to reflecting naming and functionality simplifications.
Thanks! I should've noticed this. I'll re-read and alter all the commits
for the v5.
Furthermore, the helper checks the ID is in range of 0 ... num-channels.
The original driver treated all found child nodes as channel nodes. The
new helper requires channel nodes to be named channel[@N]. This should
help avoid problems with devices which may contain also other but ADC
child nodes. Quick grep from arch/* with the rzg2l_adc's compatible
string didn't reveal any in-tree .dts with channel nodes named
othervice. Also, same grep shows all the .dts seem to have channel IDs
otherwise
(othervice does sound cool though ;)
Thanks :D For some reason I always have difficulties spelling it!
...
I picked the rzg2l_adc in this series because it has a straightforward
approach for populating the struct iio_chan_spec. Only other member
in the stuct besides the .channel, which can't use a 'template' -data,
is the .datasheet_name. This makes the rzg2l_adc well suited for example
user of this new helper. I hope this patch helps to evaluate whether these
helpers are worth the hassle.
This doesn't seem to match driver. It is messing with channel type.
Ah. Yes. It was simple until I rebased to never version. I'll change
this. Thanks!
Yours,
-- Matti