Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f2985367 authored by Mark Brown's avatar Mark Brown
Browse files

regmap: Cache single values read from the chip



If we don't have a cached value for a register and we can cache it then
when we do a read a value we should add it to the cache to save rereading
it later on. Do this for single register reads, for block reads the code
would be a little more complex and this covers most practical usage.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent d939fb9a
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -698,6 +698,9 @@ static int _regmap_read(struct regmap *map, unsigned int reg,
		trace_regmap_reg_read(map->dev, reg, *val);
	}

	if (ret == 0 && !map->cache_bypass)
		regcache_write(map, reg, *val);

	return ret;
}