diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-25 21:06:33 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-01-25 21:21:56 +0000 |
commit | d9db762708e27c2892db9d8a54e735a8e506e16e (patch) | |
tree | 6c3dfa0bdb888df5f237f7b9de78c2b8a035ad91 /drivers/base | |
parent | 22f0d90a34827812413bb3fbeda6a2a79bb58423 (diff) | |
download | op-kernel-dev-d9db762708e27c2892db9d8a54e735a8e506e16e.zip op-kernel-dev-d9db762708e27c2892db9d8a54e735a8e506e16e.tar.gz |
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>
Diffstat (limited to 'drivers/base')
-rw-r--r-- | drivers/base/regmap/regcache.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index ce2034c..9c6a5c1 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -269,6 +269,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); @@ -279,8 +282,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 { |