Re: [PATCH] regmap: speed up the regcache_init()

From: Xiubo Li
Date: Tue Dec 08 2015 - 22:26:07 EST




On 09/12/2015 01:05, Mark Brown wrote:
On Thu, Dec 03, 2015 at 10:19:10AM +0800, Xiubo Li wrote:

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.
- 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;
}
If we're not using the register cache why are there defaults in the
first place?
Yes, usually when the register cache is not used, the number of the
defaults should be zero, but for some drivers like drv2267.c/led_lp8860.c
will add the defaults register values though the cache type is
REGCACHE_NONE for some reasons.

This patch may be not the best, but will be a bit meaningful for some
drivers like drv2267.c/led_lp8860.c for now.

Thanks,

BRs

Xiubo








--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/