From: Andy Shevchenko Date: Fri, 31 Oct 2025 08:03:19 +0000 (+0100) Subject: regcache: flat: Split ->populate() from ->init() X-Git-Tag: v6.19-rc1~152^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=44c1a444b030647803d900e60f5a8af31a782f0e;p=thirdparty%2Fkernel%2Flinux.git regcache: flat: Split ->populate() from ->init() Split ->populate() implementation from ->init() code. This decoupling will help for the further changes. Signed-off-by: Andy Shevchenko Reviewed-by: Charles Keepax Link: https://patch.msgid.link/20251031080540.3970776-5-andriy.shevchenko@linux.intel.com Signed-off-by: Mark Brown --- diff --git a/drivers/base/regmap/regcache-flat.c b/drivers/base/regmap/regcache-flat.c index bacb7137092fa..53cc59c84e2f0 100644 --- a/drivers/base/regmap/regcache-flat.c +++ b/drivers/base/regmap/regcache-flat.c @@ -29,7 +29,6 @@ struct regcache_flat_data { static int regcache_flat_init(struct regmap *map) { - int i; unsigned int cache_size; struct regcache_flat_data *cache; @@ -47,14 +46,6 @@ static int regcache_flat_init(struct regmap *map) map->cache = cache; - for (i = 0; i < map->num_reg_defaults; i++) { - unsigned int reg = map->reg_defaults[i].reg; - unsigned int index = regcache_flat_get_index(map, reg); - - cache->data[index] = map->reg_defaults[i].def; - __set_bit(index, cache->valid); - } - return 0; err_free: @@ -75,6 +66,22 @@ static int regcache_flat_exit(struct regmap *map) return 0; } +static int regcache_flat_populate(struct regmap *map) +{ + struct regcache_flat_data *cache = map->cache; + unsigned int i; + + for (i = 0; i < map->num_reg_defaults; i++) { + unsigned int reg = map->reg_defaults[i].reg; + unsigned int index = regcache_flat_get_index(map, reg); + + cache->data[index] = map->reg_defaults[i].def; + __set_bit(index, cache->valid); + } + + return 0; +} + static int regcache_flat_read(struct regmap *map, unsigned int reg, unsigned int *value) { @@ -134,6 +141,7 @@ struct regcache_ops regcache_flat_ops = { .name = "flat", .init = regcache_flat_init, .exit = regcache_flat_exit, + .populate = regcache_flat_populate, .read = regcache_flat_read, .write = regcache_flat_write, }; @@ -143,6 +151,7 @@ struct regcache_ops regcache_flat_sparse_ops = { .name = "flat-sparse", .init = regcache_flat_init, .exit = regcache_flat_exit, + .populate = regcache_flat_populate, .read = regcache_flat_sparse_read, .write = regcache_flat_write, .drop = regcache_flat_drop,