These patches fix some issues with using the touchscreen and reading other ADC channels at the same time. The main issue is that the "virtual" channels the touchscreen uses can overlap with the channels that the iio buffer is configured to read, causing the touchscreen to read those channels instead, and report wrong values. Patch #1 fixes that by separating the channels they use. Patches #2 and #3 stop buffered mode and sysfs reads from disabling the touchscreen. Patch #4 keeps the buffer from reporting wrong values when the touchscreen is in use. Note that I've only tested these patches on i.MX28. I checked the i.MX23 reference manual, and there don't seem to be any differences in the parts I changed, but it would still be nice if someone could test on i.MX23 as well. Changes in v2: - renamed TS_VCHn macros to TOUCHSCREEN_VCHANNELn - removed indentation changes from patch #2 Kristina Martšenko (4): iio: mxs-lradc: separate touchscreen and buffer virtual channels iio: mxs-lradc: make ADC reads not disable touchscreen interrupts iio: mxs-lradc: make ADC reads not unschedule touchscreen conversions iio: mxs-lradc: only update the buffer when its conversions have finished drivers/staging/iio/adc/mxs-lradc.c | 200 ++++++++++++++++++------------------ 1 file changed, 98 insertions(+), 102 deletions(-) -- 2.2.0 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel