[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251031080540.3970776-5-andriy.shevchenko@linux.intel.com>
Date: Fri, 31 Oct 2025 09:03:19 +0100
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Mark Brown <broonie@...nel.org>,
Christophe JAILLET <christophe.jaillet@...adoo.fr>,
Sander Vanheule <sander@...nheule.net>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-kernel@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
"Rafael J. Wysocki" <rafael@...nel.org>,
Danilo Krummrich <dakr@...nel.org>
Subject: [PATCH v3 4/5] 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 <andriy.shevchenko@...ux.intel.com>
---
drivers/base/regmap/regcache-flat.c | 27 ++++++++++++++++++---------
1 file changed, 18 insertions(+), 9 deletions(-)
diff --git a/drivers/base/regmap/regcache-flat.c b/drivers/base/regmap/regcache-flat.c
index bacb7137092f..53cc59c84e2f 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,
--
2.50.1
Powered by blists - more mailing lists