static int regcache_flat_init(struct regmap *map)
{
- int i;
unsigned int cache_size;
struct regcache_flat_data *cache;
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:
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)
{
.name = "flat",
.init = regcache_flat_init,
.exit = regcache_flat_exit,
+ .populate = regcache_flat_populate,
.read = regcache_flat_read,
.write = regcache_flat_write,
};
.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,