On Mon, Aug 21, 2023 at 6:45 PM Mighty email@example.com wrote:
How does it break it?
It's a change to the AFE rescaler driver so it can't really "break" twl6030-gpadc.
Not necessarily the gpadc, but it breaks my current-sense-shunt which requires an adc channel for it to work, since the iio-rescale driver wont recognise the channel (as it only is IIO_CHAN_INFO_RAW, so the && breaks)
OK so twl6030 is providing some channels with IIO_CHAN_INFO_RAW without IIO_CHAN_INFO_SCALE.
How is the rescaler supposed to rescale the raw value without any scale?
Say the raw value is 100, then 100 what? Microvolts? Certainly the twl6030 has to provide a scale or a processed channel to be used with the rescaler. If the rescaler would assume "no scale means scale 1:1" then that is equivalent to a processed channel, and you can just patch the twl6030 driver to convert all IIO_CHAN_INFO_RAW to IIO_CHAN_INFO_PROCESSED.
Either the datasheet has the right scale for the channels, or it is something design (board) specific and then it should be a parameter to the driver e.g. through the device tree or similar mechanism.
Yours, Linus Walleij