From b2df070509562719e91da21782198bfa532a7fba Mon Sep 17 00:00:00 2001 From: shengfei Xu Date: Mon, 27 Apr 2020 16:23:59 +0800 Subject: [PATCH] mfd: rk808: use REGCACHE_RBTREE cache_type for rk817/809 Signed-off-by: shengfei Xu Change-Id: I83d6f5f3db906b74760fd32a1c072ac9e4fb956f Signed-off-by: Elaine Zhang --- drivers/mfd/rk808.c | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/drivers/mfd/rk808.c b/drivers/mfd/rk808.c index 24e34932f498..38bcc87d6325 100644 --- a/drivers/mfd/rk808.c +++ b/drivers/mfd/rk808.c @@ -75,7 +75,7 @@ static bool rk817_is_volatile_reg(struct device *dev, unsigned int reg) return true; } - return true; + return false; } static bool rk818_is_volatile_reg(struct device *dev, unsigned int reg) @@ -149,7 +149,8 @@ static const struct regmap_config rk817_regmap_config = { .reg_bits = 8, .val_bits = 8, .max_register = RK817_GPIO_INT_CFG, - .cache_type = REGCACHE_NONE, + .num_reg_defaults_raw = RK817_GPIO_INT_CFG + 1, + .cache_type = REGCACHE_RBTREE, .volatile_reg = rk817_is_volatile_reg, }; @@ -295,6 +296,7 @@ static const struct rk808_reg_data rk816_pre_init_reg[] = { }; static const struct rk808_reg_data rk817_pre_init_reg[] = { + {RK817_SYS_CFG(3), RK817_SLPPOL_MSK, RK817_SLPPOL_L}, {RK817_RTC_CTRL_REG, RTC_STOP, RTC_STOP}, {RK817_GPIO_INT_CFG, RK817_INT_POL_MSK, RK817_INT_POL_L}, {RK817_SYS_CFG(1), RK817_HOTDIE_TEMP_MSK | RK817_TSD_TEMP_MSK, @@ -811,15 +813,6 @@ static int rk817_pinctrl_init(struct device *dev, struct rk808 *rk808) return 0; } - ret = regmap_update_bits(rk808->regmap, - RK817_SYS_CFG(3), - RK817_SLPPOL_MSK, - RK817_SLPPOL_L); - if (ret) { - dev_err(dev, "init: config RK817_SLPPOL_L error!\n"); - return -1; - } - ret = pinctrl_select_state(rk808->pins->p, rk808->pins->reset); if (ret) @@ -1235,13 +1228,6 @@ static int __maybe_unused rk8xx_suspend(struct device *dev) break; } - if (rk808->pins && rk808->pins->p && rk808->pins->sleep) { - ret = pinctrl_select_state(rk808->pins->p, rk808->pins->sleep); - if (ret) { - dev_err(dev, "failed to act slp pinctrl state\n"); - return -1; - } - } return ret; }