summaryrefslogtreecommitdiffstats
path: root/drivers/mfd/wm8350-irq.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-06-03 13:37:23 +0100
committerSamuel Ortiz <sameo@linux.intel.com>2012-07-09 00:16:10 +0200
commit7fdb5d32614f7784fc7c2b8e883eb4da26358a94 (patch)
tree6f08d61db842a60fb66b24209f608fc31d141827 /drivers/mfd/wm8350-irq.c
parent52b461b86a9f6c7a86bdcb858e1bbef089fbe6a0 (diff)
downloadlinux-7fdb5d32614f7784fc7c2b8e883eb4da26358a94.tar.gz
linux-7fdb5d32614f7784fc7c2b8e883eb4da26358a94.tar.bz2
linux-7fdb5d32614f7784fc7c2b8e883eb4da26358a94.zip
mfd: Rely on regmap cache in wm8350 interrupt controller
We can just use regmap_update_bits() to achieve the same effect - it will do the read/modify/update cycle for us. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/wm8350-irq.c')
-rw-r--r--drivers/mfd/wm8350-irq.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/mfd/wm8350-irq.c b/drivers/mfd/wm8350-irq.c
index 9fd01bf63c51..624ff90501cd 100644
--- a/drivers/mfd/wm8350-irq.c
+++ b/drivers/mfd/wm8350-irq.c
@@ -432,11 +432,9 @@ static void wm8350_irq_sync_unlock(struct irq_data *data)
for (i = 0; i < ARRAY_SIZE(wm8350->irq_masks); i++) {
/* If there's been a change in the mask write it back
* to the hardware. */
- if (wm8350->irq_masks[i] !=
- wm8350->reg_cache[WM8350_INT_STATUS_1_MASK + i])
- WARN_ON(wm8350_reg_write(wm8350,
- WM8350_INT_STATUS_1_MASK + i,
- wm8350->irq_masks[i]));
+ WARN_ON(regmap_update_bits(wm8350->regmap,
+ WM8350_INT_STATUS_1_MASK + i,
+ 0xffff, wm8350->irq_masks[i]));
}
mutex_unlock(&wm8350->irq_lock);