瀏覽代碼

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>
Mark Brown 13 年之前
父節點
當前提交
d9db762708
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. 3 2
      drivers/base/regmap/regcache.c

+ 3 - 2
drivers/base/regmap/regcache.c

@@ -269,6 +269,9 @@ int regcache_sync(struct regmap *map)
 	name = map->cache_ops->name;
 	name = map->cache_ops->name;
 	trace_regcache_sync(map->dev, name, "start");
 	trace_regcache_sync(map->dev, name, "start");
 
 
+	if (!map->cache_dirty)
+		goto out;
+
 	/* Apply any patch first */
 	/* Apply any patch first */
 	for (i = 0; i < map->patch_regs; i++) {
 	for (i = 0; i < map->patch_regs; i++) {
 		ret = _regmap_write(map, map->patch[i].reg, map->patch[i].def);
 		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) {
 	if (map->cache_ops->sync) {
 		ret = map->cache_ops->sync(map);
 		ret = map->cache_ops->sync(map);
 	} else {
 	} else {