diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-02-23 20:48:40 +0000 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-02-23 20:57:11 +0000 |
commit | c3ec23288a92e20e0aff84a4cb6fbc7cc9bcf567 (patch) | |
tree | 2bd8395c9e87fa9214ccd61c3b2a53b499727e3f | |
parent | 2a14d7d9b7439fe62082a60a7f8983ccb463d134 (diff) | |
download | op-kernel-dev-c3ec23288a92e20e0aff84a4cb6fbc7cc9bcf567.zip op-kernel-dev-c3ec23288a92e20e0aff84a4cb6fbc7cc9bcf567.tar.gz |
regmap: Remove default cache sync implementation
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>
-rw-r--r-- | drivers/base/regmap/regcache.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index ee36bed..4d43ed3 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -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 */ |