summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZubair Lutfullah <zubair.lutfullah@gmail.com>2013-08-13 17:40:56 +0100
committerLee Jones <lee.jones@linaro.org>2013-08-14 18:55:40 +0100
commit5d945d94a15435d2a3a3b99e538fc8fc7558afc5 (patch)
tree3ea97c7182c86db80f6ed6f74b7351469d08122f
parentb018e1361bad361b47294fd09ae1f33f707dd933 (diff)
downloadlinux-5d945d94a15435d2a3a3b99e538fc8fc7558afc5.tar.bz2
mfd: ti_am335x_tscadc: Update reg_cache variable in clr function
The reg_cache variable should be updated with current steps in the reg_se register. Then the mask should apply and clear the register. Previously, the reg_cache can be an old redundant value that isn't updated. Signed-off-by: Zubair Lutfullah <zubair.lutfullah@gmail.com> Signed-off-by: Lee Jones <lee.jones@linaro.org>
-rw-r--r--drivers/mfd/ti_am335x_tscadc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/mfd/ti_am335x_tscadc.c b/drivers/mfd/ti_am335x_tscadc.c
index 9f3f07ad54bd..baaf5a8123bb 100644
--- a/drivers/mfd/ti_am335x_tscadc.c
+++ b/drivers/mfd/ti_am335x_tscadc.c
@@ -67,10 +67,10 @@ EXPORT_SYMBOL_GPL(am335x_tsc_se_set);
void am335x_tsc_se_clr(struct ti_tscadc_dev *tsadc, u32 val)
{
spin_lock(&tsadc->reg_lock);
+ tsadc->reg_se_cache = tscadc_readl(tsadc, REG_SE);
tsadc->reg_se_cache &= ~val;
- spin_unlock(&tsadc->reg_lock);
-
am335x_tsc_se_update(tsadc);
+ spin_unlock(&tsadc->reg_lock);
}
EXPORT_SYMBOL_GPL(am335x_tsc_se_clr);