Messages in this thread Patch in this message | | | From | Mark Brown <> | Subject | [PATCH] regmap: Cache single values read from the chip | Date | Mon, 30 Apr 2012 22:55:57 +0100 |
| |
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: Mark Brown <broonie@opensource.wolfsonmicro.com> --- drivers/base/regmap/regmap.c | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/drivers/base/regmap/regmap.c b/drivers/base/regmap/regmap.c index 178989a..b57bb86 100644 --- a/drivers/base/regmap/regmap.c +++ b/drivers/base/regmap/regmap.c @@ -698,6 +698,9 @@ static int _regmap_read(struct regmap *map, unsigned int reg, trace_regmap_reg_read(map->dev, reg, *val); } + if (!map->cache_bypass) + regcache_write(map, reg, *val); + return ret; } -- 1.7.10
| |