aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/base/regmap
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-26 13:30:16 -0500
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-01-26 13:34:49 -0500
commita24f64a648376766497fddd8bc24b1ca5b906431 (patch)
treeb06e00797e507aa884b11bbba3f45dd66e5b0b90 /drivers/base/regmap
parent7e53b195e412a813e915843adc7e4d91868e8e94 (diff)
regmap: Reset device debugfs when reinitialising the cache
Most of the data exposed via debugfs is for or from the cache so reset all the debugfs configuration to make sure everything is up to date with the latest configuration, especially if we're changing cache type. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'drivers/base/regmap')
-rw-r--r--drivers/base/regmap/regmap.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c
index e9c2ac0174c..2d71aeae310 100644
--- a/drivers/base/regmap/regmap.c
+++ b/drivers/base/regmap/regmap.c
@@ -278,6 +278,7 @@ int regmap_reinit_cache(struct regmap *map, const struct regmap_config *config)
278 mutex_lock(&map->lock); 278 mutex_lock(&map->lock);
279 279
280 regcache_exit(map); 280 regcache_exit(map);
281 regmap_debugfs_exit(map);
281 282
282 map->max_register = config->max_register; 283 map->max_register = config->max_register;
283 map->writeable_reg = config->writeable_reg; 284 map->writeable_reg = config->writeable_reg;
@@ -286,6 +287,8 @@ int regmap_reinit_cache(struct regmap *map, const struct regmap_config *config)
286 map->precious_reg = config->precious_reg; 287 map->precious_reg = config->precious_reg;
287 map->cache_type = config->cache_type; 288 map->cache_type = config->cache_type;
288 289
290 regmap_debugfs_init(map);
291
289 ret = regcache_init(map, config); 292 ret = regcache_init(map, config);
290 293
291 mutex_unlock(&map->lock); 294 mutex_unlock(&map->lock);