[PATCH 0/4] iio: adc: mcp3422 improvements

From: Mitja Spes
Date: Fri Nov 11 2022 - 06:28:05 EST


Fixes:
* iio: adc: mcp3422: fix scale read bug
Scale was always returned for the last read input instead of the specified
channel.

Improvements:
* iio: adc: mcp3422: allow setting gain and sampling per channel
Sampling was the same for all channels. This patch adds the ability to select
different gain and sampling per channel. They can be set together via scale
attribute.
Sampling can be set also via the standalone attribute which is now per
channel. This might be a breaking change for some.

* iio: adc: mcp3422: add hardware gain attribute
Setting via scale is cumbersome. This patch just adds a concise way to set
the gain, since sampling can already be set separately.

* iio: adc: mcp3422: reduce sleep for fast sampling rates
msleep can produce a delay which is fi. 30ms off the mark. This patch uses
usleep_range for the higher sampling rates.

Mitja Spes (4):
iio: adc: mcp3422: fix scale read bug
iio: adc: mcp3422: allow setting gain and sampling per channel
iio: adc: mcp3422: add hardware gain attribute
iio: adc: mcp3422: reduce sleep for fast sampling rates

drivers/iio/adc/mcp3422.c | 161 ++++++++++++++++++++++++--------------
1 file changed, 103 insertions(+), 58 deletions(-)

--
2.34.1