aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/regmap
diff options
context:
space:
mode:
authorDimitris Papastamos <dp@opensource.wolfsonmicro.com>2011-09-28 06:43:42 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-09-28 08:56:39 -0400
commitec8a365fe62c78a16268bd1d12dfbebc2b775991 (patch)
tree11aafc8618736161bfbe6a189300aae3bcca707c /drivers/base/regmap
parenta40c282362419b8bccb75cea081992f535841085 (diff)
regmap: Modify map->cache_bypass directly
In preperation for the upcoming patches, modify map->cache_bypass directly. The helper functions will grab an exclusive lock. Because we'll have acquired the same lock we need to avoid a deadlock. Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/base/regmap')
-rw-r--r--drivers/base/regmap/regcache.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index 5364dde2ecd0..f46e247912cb 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -241,9 +241,9 @@ int regcache_sync(struct regmap *map)
241 ret = regcache_read(map, i, &val); 241 ret = regcache_read(map, i, &val);
242 if (ret < 0) 242 if (ret < 0)
243 goto out; 243 goto out;
244 regcache_cache_bypass(map, true); 244 map->cache_bypass = 1;
245 ret = regmap_write(map, i, val); 245 ret = regmap_write(map, i, val);
246 regcache_cache_bypass(map, false); 246 map->cache_bypass = 0;
247 if (ret < 0) 247 if (ret < 0)
248 goto out; 248 goto out;
249 dev_dbg(map->dev, "Synced register %#x, value %#x\n", 249 dev_dbg(map->dev, "Synced register %#x, value %#x\n",