mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
regcache: rbtree: Split ->populate() from ->init()
Split ->populate() implementation from ->init() code. This decoupling will help for the further changes. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://patch.msgid.link/20251031080540.3970776-3-andriy.shevchenko@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
94a3a95f03
commit
bda6f8749c
@@ -184,8 +184,6 @@ static void rbtree_debugfs_init(struct regmap *map)
|
||||
static int regcache_rbtree_init(struct regmap *map)
|
||||
{
|
||||
struct regcache_rbtree_ctx *rbtree_ctx;
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
map->cache = kmalloc(sizeof *rbtree_ctx, map->alloc_flags);
|
||||
if (!map->cache)
|
||||
@@ -195,19 +193,7 @@ static int regcache_rbtree_init(struct regmap *map)
|
||||
rbtree_ctx->root = RB_ROOT;
|
||||
rbtree_ctx->cached_rbnode = NULL;
|
||||
|
||||
for (i = 0; i < map->num_reg_defaults; i++) {
|
||||
ret = regcache_rbtree_write(map,
|
||||
map->reg_defaults[i].reg,
|
||||
map->reg_defaults[i].def);
|
||||
if (ret)
|
||||
goto err;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
err:
|
||||
regcache_rbtree_exit(map);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int regcache_rbtree_exit(struct regmap *map)
|
||||
@@ -239,6 +225,22 @@ static int regcache_rbtree_exit(struct regmap *map)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int regcache_rbtree_populate(struct regmap *map)
|
||||
{
|
||||
unsigned int i;
|
||||
int ret;
|
||||
|
||||
for (i = 0; i < map->num_reg_defaults; i++) {
|
||||
ret = regcache_rbtree_write(map,
|
||||
map->reg_defaults[i].reg,
|
||||
map->reg_defaults[i].def);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int regcache_rbtree_read(struct regmap *map,
|
||||
unsigned int reg, unsigned int *value)
|
||||
{
|
||||
@@ -546,6 +548,7 @@ struct regcache_ops regcache_rbtree_ops = {
|
||||
.name = "rbtree",
|
||||
.init = regcache_rbtree_init,
|
||||
.exit = regcache_rbtree_exit,
|
||||
.populate = regcache_rbtree_populate,
|
||||
#ifdef CONFIG_DEBUG_FS
|
||||
.debugfs_init = rbtree_debugfs_init,
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user