mfd: ti_am335x_tscadc: Fix TSC resume
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Mon, 8 Sep 2014 13:28:42 +0000 (15:28 +0200)
committerLee Jones <lee.jones@linaro.org>
Fri, 26 Sep 2014 07:23:51 +0000 (08:23 +0100)
In the resume path, the ADC invokes am335x_tsc_se_set_cache() with 0 as
the steps argument if continous mode is not in use. This in turn disables
all steps and so the TSC is not working until one ADC sampling is
performed.

This patch fixes it by writing the current cached mask instead of the
passed steps.

Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADCA
synchronization")
Cc: stable@vger.kernel.org # v3.13+
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/ti_am335x_tscadc.c

index 8b119ce20b938be7e59aec92b3a844197a915410..121add8be4569a4ce3713c96b9083bb2c086f13c 100644 (file)
@@ -57,7 +57,7 @@ void am335x_tsc_se_set_cache(struct ti_tscadc_dev *tsadc, u32 val)
        if (tsadc->adc_waiting)
                wake_up(&tsadc->reg_se_wait);
        else if (!tsadc->adc_in_use)
-               tscadc_writel(tsadc, REG_SE, val);
+               tscadc_writel(tsadc, REG_SE, tsadc->reg_se_cache);
 
        spin_unlock_irqrestore(&tsadc->reg_lock, flags);
 }
This page took 0.027609 seconds and 5 git commands to generate.