diff mbox

[RESEND] regulator: mt6311: Use REGCACHE_RBTREE

Message ID 1450422693-371-1-git-send-email-djkurtz@chromium.org (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Kurtz Dec. 18, 2015, 7:11 a.m. UTC
This regulator is on a slow i2c bus.  Register accesses are very simple,
they all either enable/disable a regulator channel, or select a new
voltage level.  Thus, reading registers from the device will always
return what was last written.

Therefore we can save a lot of time when reading registers by using a
regmap_cache.  Since the register map is relatively large, but we only
ever access a few of them, we use an RBTREE cache.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
---
I used the wrong commit message subject in the first attempt.
Maybe this time someone will review it ;-).
---
 drivers/regulator/mt6311-regulator.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Henry Chen Dec. 18, 2015, 7:34 a.m. UTC | #1
Thanks to the patch.

On Fri, 2015-12-18 at 15:11 +0800, Daniel Kurtz wrote:
> This regulator is on a slow i2c bus.  Register accesses are very simple,
> they all either enable/disable a regulator channel, or select a new
> voltage level.  Thus, reading registers from the device will always
> return what was last written.
> 
> Therefore we can save a lot of time when reading registers by using a
> regmap_cache.  Since the register map is relatively large, but we only
> ever access a few of them, we use an RBTREE cache.
> 
> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>

Acked-by: Henry Chen <henryc.chen@mediatek.com>

> ---
> I used the wrong commit message subject in the first attempt.
> Maybe this time someone will review it ;-).
> ---
>  drivers/regulator/mt6311-regulator.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/regulator/mt6311-regulator.c b/drivers/regulator/mt6311-regulator.c
> index 02c4e5f..0495716 100644
> --- a/drivers/regulator/mt6311-regulator.c
> +++ b/drivers/regulator/mt6311-regulator.c
> @@ -30,6 +30,7 @@ static const struct regmap_config mt6311_regmap_config = {
>  	.reg_bits = 8,
>  	.val_bits = 8,
>  	.max_register = MT6311_FQMTR_CON4,
> +	.cache_type = REGCACHE_RBTREE,
>  };
>  
>  /* Default limits measured in millivolts and milliamps */
diff mbox

Patch

diff --git a/drivers/regulator/mt6311-regulator.c b/drivers/regulator/mt6311-regulator.c
index 02c4e5f..0495716 100644
--- a/drivers/regulator/mt6311-regulator.c
+++ b/drivers/regulator/mt6311-regulator.c
@@ -30,6 +30,7 @@  static const struct regmap_config mt6311_regmap_config = {
 	.reg_bits = 8,
 	.val_bits = 8,
 	.max_register = MT6311_FQMTR_CON4,
+	.cache_type = REGCACHE_RBTREE,
 };
 
 /* Default limits measured in millivolts and milliamps */