regmap: Remove default cache sync implementation
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 23 Feb 2012 20:48:40 +0000 (20:48 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 23 Feb 2012 20:57:11 +0000 (20:57 +0000)
It's not used as all cache types have sync operations so it's just dead
code which never gets tested.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/base/regmap/regcache.c

index ee36bed..4d43ed3 100644 (file)
@@ -254,12 +254,11 @@ EXPORT_SYMBOL_GPL(regcache_write);
 int regcache_sync(struct regmap *map)
 {
        int ret = 0;
-       unsigned int val;
        unsigned int i;
        const char *name;
        unsigned int bypass;
 
-       BUG_ON(!map->cache_ops);
+       BUG_ON(!map->cache_ops || !map->cache_ops->sync);
 
        mutex_lock(&map->lock);
        /* Remember the initial bypass state */
@@ -284,24 +283,8 @@ int regcache_sync(struct regmap *map)
        }
        map->cache_bypass = 0;
 
-       if (map->cache_ops->sync) {
-               ret = map->cache_ops->sync(map);
-       } else {
-               for (i = 0; i < map->num_reg_defaults; i++) {
-                       ret = regcache_read(map, i, &val);
-                       if (ret < 0)
-                               goto out;
-                       map->cache_bypass = 1;
-                       ret = _regmap_write(map, i, val);
-                       map->cache_bypass = 0;
-                       if (ret < 0)
-                               goto out;
-                       dev_dbg(map->dev, "Synced register %#x, value %#x\n",
-                               map->reg_defaults[i].reg,
-                               map->reg_defaults[i].def);
-               }
+       ret = map->cache_ops->sync(map);
 
-       }
 out:
        trace_regcache_sync(map->dev, name, "stop");
        /* Restore the bypass state */