Unverified Commit 44c1a444 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mark Brown
Browse files

regcache: flat: Split ->populate() from ->init()



Split ->populate() implementation from ->init() code.
This decoupling will help for the further changes.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251031080540.3970776-5-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 27fef304
Loading
Loading
Loading
Loading
+18 −9
Original line number Diff line number Diff line
@@ -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,