diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2013-02-19 13:06:46 +0530 |
---|---|---|
committer | Mandar Padmawar <mpadmawar@nvidia.com> | 2013-03-15 07:08:59 -0700 |
commit | d6330823db19136d97fcb92fc8707fc5de7b78f5 (patch) | |
tree | ee5b0de94248ffa9c5472335e05154789191baf8 /drivers/mfd | |
parent | 941be90682ce054645ecb1a6665e031a9f14ad23 (diff) |
mfd: palma: enable cache of SMPS regulator register.
Enable caching of SMPS regulator registers. This reduces
the number of i2c transaction from 7 to 1 when changing
voltage of rail.
bug 1238267
Change-Id: Ida1d1c3a634c1e3c1bf8a8b008aea17aeaa5ced3
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/201949
Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com>
Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/palmas.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c index 002838f797c9..7caa13b2863e 100644 --- a/drivers/mfd/palmas.c +++ b/drivers/mfd/palmas.c @@ -185,12 +185,22 @@ static const struct mfd_cell palmas_children[] = { } }; +static bool is_volatile_palma_func_reg(struct device *dev, unsigned int reg) +{ + if ((reg >= (PALMAS_SMPS12_CTRL + 0x20)) && + (reg <= (PALMAS_SMPS9_VOLTAGE + 0x20))) + return false; + return true; +} + static const struct regmap_config palmas_regmap_config[PALMAS_NUM_CLIENTS] = { { .reg_bits = 8, .val_bits = 8, .max_register = PALMAS_BASE_TO_REG(PALMAS_PU_PD_OD_BASE, PALMAS_PRIMARY_SECONDARY_PAD3), + .volatile_reg = is_volatile_palma_func_reg, + .cache_type = REGCACHE_RBTREE, }, { .reg_bits = 8, |