]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
regcache: flat: Split ->populate() from ->init()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 31 Oct 2025 08:03:19 +0000 (09:03 +0100)
committerMark Brown <broonie@kernel.org>
Fri, 31 Oct 2025 12:01:54 +0000 (12:01 +0000)
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-5-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/base/regmap/regcache-flat.c

index bacb7137092face879c572cb0e0dd0bfe69b69f1..53cc59c84e2f0117bd2cf85cee880968ea939a52 100644 (file)
@@ -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,