summaryrefslogtreecommitdiff
path: root/drivers/base
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-25 21:06:33 +0000
committerLokesh Pathak <lpathak@nvidia.com>2012-03-05 07:57:54 -0800
commit33b150e9ccbcfa11d6b14c9a5e00b84b765512e2 (patch)
tree627bde6c4b0820df32ed9bc64b7eb589ed411b7e /drivers/base
parentd755e3062055994689a2d5c202f1ba1b71c6a275 (diff)
regmap: Skip patch application when the cache is not dirty on sync
On the basis that if we don't actually need to resync the cache then the patches are probably also already applied. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> (cherry picked from commit d9db762708e27c2892db9d8a54e735a8e506e16e) Change-Id: I1b41ea112ae97812be6c9e2e3ea8c490e0835732 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/87579
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/regmap/regcache.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c
index 4f87a8a3bf23..684e3d2584be 100644
--- a/drivers/base/regmap/regcache.c
+++ b/drivers/base/regmap/regcache.c
@@ -266,6 +266,9 @@ int regcache_sync(struct regmap *map)
name = map->cache_ops->name;
trace_regcache_sync(map->dev, name, "start");
+ if (!map->cache_dirty)
+ goto out;
+
/* Apply any patch first */
for (i = 0; i < map->patch_regs; i++) {
ret = _regmap_write(map, map->patch[i].reg, map->patch[i].def);
@@ -276,8 +279,6 @@ int regcache_sync(struct regmap *map)
}
}
- if (!map->cache_dirty)
- goto out;
if (map->cache_ops->sync) {
ret = map->cache_ops->sync(map);
} else {