In the discussion around adding the GP2A002 light driver, there came up the question of what to do when a system emulates a current ADC by using a voltage ADC and a resistor. Rather than adding it on a per-driver basis, it was suggested(1) to add a minimal IIO driver to support this situation.
The new driver is fairly simple - it simply takes a voltage ADC and a resistor value in ohms exposed as the scale and outputs a current. It has been tested on a first-gen Galaxy S device which has the above mentioned GP2A002 chip connected to the voltage ADC resistor complex. 1) https://lore.kernel.org/linux-iio/20200202150843.762c6897@archlinux/ Jonathan Bakker (2): dt-bindings: iio: adc: Add binding for current-from-voltage iio: adc: Add current-from-voltage driver .../iio/adc/linux,current-from-voltage.yaml | 47 +++++++ MAINTAINERS | 8 ++ drivers/iio/adc/Kconfig | 9 ++ drivers/iio/adc/Makefile | 1 + drivers/iio/adc/current-from-voltage.c | 123 ++++++++++++++++++ 5 files changed, 188 insertions(+) create mode 100644 Documentation/devicetree/bindings/iio/adc/linux,current-from-voltage.yaml create mode 100644 drivers/iio/adc/current-from-voltage.c -- 2.20.1