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 dc1add0..a1ade23 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;