Re: [PATCH v6 0/3] mainline ti tsc2046 adc driver

From: Jonathan Cameron
Date: Mon May 03 2021 - 07:27:34 EST


On Wed, 28 Apr 2021 09:32:05 +0200
Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx> wrote:

Hi Oleksij,

Series applied with the tweaks as per review to patch 3. Please
check I didn't mess those up though.

Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to poke at it.

Thanks,

Jonathan

> changes v6:
> - get blessing from Dmitry Torokhov
> - rebase against latest iio/testing
> - use simple name for iio_dev->name
> - use Jonathan's version for oversampling-ratio description
>
> changes v5:
> - remove type for the settling-time-us property
>
> changes v4:
> - spell fixes
> - add more comments
> - make code more readable
> - move scan_buf to the priv
> - use FIELD_GET to extract ADC data
> - make some multi line code as one line
> - do not use atomic API for trig_more_count
> - fix build warning on 64bit system
> - add NULL check for the devm_kasprintf()
> - use return devm_iio_device_register(), without additional error
> printing.
>
> changes v3:
> - different spell fixes
> - add some notes about driver structure
> - rename the trigger to point on the touchscreen nature of it
> - rename DT binding to oversampling-ratio
> - make sure we have some defaults in case no DT property is set
>
> changes v2:
> - rework and extend DT binding properties
> - remove touchscreen related code from the IIO ADC driver
> - make trigger be active longer then IRQ is requesting. This is needed
> to get "inactive" samples
> - make oversampling and settle time configurable
>
> TI TSC2046 is a touchscreen controller based on 8 channel ADC. Since most of
> this ADC based touchscreen controller share same set of challenges, it
> is better keep then as simple IIO ADC devices attached to a generic
> resistive-adc-touch driver.
>
> This driver can replace drivers/input/touchscreen/ads7846.c and has
> following advantages over it:
> - less code to maintain
> - shared code paths (resistive-adc-touch, iio-hwmon, etc)
> - can be used as plain IIO ADC to investigate signaling issues or test
> real capacity of the plates and attached low-pass filters
> (or use the touchscreen as a microphone if you like ;) )
>
> Oleksij Rempel (3):
> dt-bindings:iio:adc: add generic settling-time-us and
> oversampling-ratio channel properties
> dt-bindings:iio:adc: add documentation for TI TSC2046 controller
> iio: adc: add ADC driver for the TI TSC2046 controller
>
> .../devicetree/bindings/iio/adc/adc.yaml | 12 +
> .../bindings/iio/adc/ti,tsc2046.yaml | 115 +++
> MAINTAINERS | 8 +
> drivers/iio/adc/Kconfig | 12 +
> drivers/iio/adc/Makefile | 1 +
> drivers/iio/adc/ti-tsc2046.c | 720 ++++++++++++++++++
> 6 files changed, 868 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/iio/adc/ti,tsc2046.yaml
> create mode 100644 drivers/iio/adc/ti-tsc2046.c
>