mfd: arizona: Use new regmap features for manual register patch
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Tue, 25 Feb 2014 13:45:52 +0000 (13:45 +0000)
committerMark Brown <broonie@linaro.org>
Tue, 25 Feb 2014 23:58:42 +0000 (08:58 +0900)
On the wm5102 the register patches are applied manually, rather than by
the regmap core. This application is wrapped in calls to
regcache_cache_bypass. However, this is dangerous as other threads may
be accessing the hardware at the same time as the pm_runtime operations
and if they do so during the period whilst cache_bypass is enabled those
writes will miss the cache when they shouldn't.

Apply the register patch using the new regmap_multi_reg_write_bypassed
function to avoid this problem. Also remove the call to
regcache_cache_bypass from the hardware patch application as it is
unneeded there and creates a similar window for writes to miss the
cache.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Acked-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/mfd/arizona-core.c
drivers/mfd/wm5102-tables.c

Simple merge
Simple merge