mfd: Don't set mc13783 ADREFMODE for touch conversions
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Wed, 2 Dec 2009 18:54:31 +0000 (19:54 +0100)
committerSamuel Ortiz <sameo@linux.intel.com>
Sun, 13 Dec 2009 18:21:57 +0000 (19:21 +0100)
Setting ADREFMODE is utter nonsense, but that's hard to read out of the
spec.  Strange enough it's possible to read x and y values even when
it's set.  When unset you can get values not only for the axes, but also
for contact resistance which allows the touch driver to report pressure
values.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/mc13783-core.c

index dc1add0c4949cbbc6363dd76bd34faf91dc5881d..a1ade2324ea903bccfab8a35f75fecaa9428f59e 100644 (file)
@@ -462,8 +462,8 @@ int mc13783_adc_do_conversion(struct mc13783 *mc13783, unsigned int mode,
 
        switch (mode) {
        case MC13783_ADC_MODE_TS:
-               adc0 |= MC13783_ADC0_ADREFEN | MC13783_ADC0_ADREFMODE
-                       | MC13783_ADC0_TSMOD0 | MC13783_ADC0_TSMOD1;
+               adc0 |= MC13783_ADC0_ADREFEN | MC13783_ADC0_TSMOD0 |
+                       MC13783_ADC0_TSMOD1;
                adc1 |= 4 << MC13783_ADC1_CHAN1_SHIFT;
                break;