Messages in this thread Patch in this message | | | From | Xiubo Li <> | Subject | [PATCH] regmap: speed up the regcache_init() | Date | Thu, 3 Dec 2015 10:19:10 +0800 |
| |
If the cache is not used by the device driver, there is not need to check the striding of the registers. It will just return 0 from regcache_init() and let the register striding be checked in proper place when needed.
Signed-off-by: Xiubo Li <lixiubo@cmss.chinamobile.com> --- drivers/base/regmap/regcache.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/base/regmap/regcache.c b/drivers/base/regmap/regcache.c index 4c07802..edc3bd9 100644 --- a/drivers/base/regmap/regcache.c +++ b/drivers/base/regmap/regcache.c @@ -100,15 +100,15 @@ int regcache_init(struct regmap *map, const struct regmap_config *config) int i; void *tmp_buf; - for (i = 0; i < config->num_reg_defaults; i++) - if (config->reg_defaults[i].reg % map->reg_stride) - return -EINVAL; - if (map->cache_type == REGCACHE_NONE) { map->cache_bypass = true; return 0; } + for (i = 0; i < config->num_reg_defaults; i++) + if (config->reg_defaults[i].reg % map->reg_stride) + return -EINVAL; + for (i = 0; i < ARRAY_SIZE(cache_types); i++) if (cache_types[i]->type == map->cache_type) break; -- 1.8.3.1
| |