Skip to content

Commit

Permalink
Merge remote-tracking branch 'regmap/fix/cache' into regmap-linus
Browse files Browse the repository at this point in the history
  • Loading branch information
Mark Brown committed Jun 3, 2013
2 parents d683b96 + f3284f9 commit 59e618a
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 14 deletions.
6 changes: 2 additions & 4 deletions drivers/base/regmap/regcache-rbtree.c
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ static int rbtree_show(struct seq_file *s, void *ignored)
int registers = 0;
int this_registers, average;

map->lock(map);
map->lock(map->lock_arg);

mem_size = sizeof(*rbtree_ctx);
mem_size += BITS_TO_LONGS(map->cache_present_nbits) * sizeof(long);
Expand All @@ -170,7 +170,7 @@ static int rbtree_show(struct seq_file *s, void *ignored)
seq_printf(s, "%d nodes, %d registers, average %d registers, used %zu bytes\n",
nodes, registers, average, mem_size);

map->unlock(map);
map->unlock(map->lock_arg);

return 0;
}
Expand Down Expand Up @@ -391,8 +391,6 @@ static int regcache_rbtree_sync(struct regmap *map, unsigned int min,
for (node = rb_first(&rbtree_ctx->root); node; node = rb_next(node)) {
rbnode = rb_entry(node, struct regcache_rbtree_node, node);

if (rbnode->base_reg < min)
continue;
if (rbnode->base_reg > max)
break;
if (rbnode->base_reg + rbnode->blklen < min)
Expand Down
20 changes: 10 additions & 10 deletions drivers/base/regmap/regcache.c
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ int regcache_sync(struct regmap *map)

BUG_ON(!map->cache_ops || !map->cache_ops->sync);

map->lock(map);
map->lock(map->lock_arg);
/* Remember the initial bypass state */
bypass = map->cache_bypass;
dev_dbg(map->dev, "Syncing %s cache\n",
Expand Down Expand Up @@ -306,7 +306,7 @@ int regcache_sync(struct regmap *map)
trace_regcache_sync(map->dev, name, "stop");
/* Restore the bypass state */
map->cache_bypass = bypass;
map->unlock(map);
map->unlock(map->lock_arg);

return ret;
}
Expand All @@ -333,7 +333,7 @@ int regcache_sync_region(struct regmap *map, unsigned int min,

BUG_ON(!map->cache_ops || !map->cache_ops->sync);

map->lock(map);
map->lock(map->lock_arg);

/* Remember the initial bypass state */
bypass = map->cache_bypass;
Expand All @@ -352,7 +352,7 @@ int regcache_sync_region(struct regmap *map, unsigned int min,
trace_regcache_sync(map->dev, name, "stop region");
/* Restore the bypass state */
map->cache_bypass = bypass;
map->unlock(map);
map->unlock(map->lock_arg);

return ret;
}
Expand All @@ -372,11 +372,11 @@ EXPORT_SYMBOL_GPL(regcache_sync_region);
*/
void regcache_cache_only(struct regmap *map, bool enable)
{
map->lock(map);
map->lock(map->lock_arg);
WARN_ON(map->cache_bypass && enable);
map->cache_only = enable;
trace_regmap_cache_only(map->dev, enable);
map->unlock(map);
map->unlock(map->lock_arg);
}
EXPORT_SYMBOL_GPL(regcache_cache_only);

Expand All @@ -391,9 +391,9 @@ EXPORT_SYMBOL_GPL(regcache_cache_only);
*/
void regcache_mark_dirty(struct regmap *map)
{
map->lock(map);
map->lock(map->lock_arg);
map->cache_dirty = true;
map->unlock(map);
map->unlock(map->lock_arg);
}
EXPORT_SYMBOL_GPL(regcache_mark_dirty);

Expand All @@ -410,11 +410,11 @@ EXPORT_SYMBOL_GPL(regcache_mark_dirty);
*/
void regcache_cache_bypass(struct regmap *map, bool enable)
{
map->lock(map);
map->lock(map->lock_arg);
WARN_ON(map->cache_only && enable);
map->cache_bypass = enable;
trace_regmap_cache_bypass(map->dev, enable);
map->unlock(map);
map->unlock(map->lock_arg);
}
EXPORT_SYMBOL_GPL(regcache_cache_bypass);

Expand Down

0 comments on commit 59e618a

Please sign in to comment.