]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
regulator: rt5739: Enable REGCACHE_MAPLE
authorJisheng Zhang <jszhang@kernel.org>
Sun, 29 Jun 2025 09:48:03 +0000 (17:48 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 30 Jun 2025 11:15:38 +0000 (12:15 +0100)
Enable regmap cache to reduce i2c transactions and corresponding
interrupts if regulator is accessed frequently.

Signed-off-by: Jisheng Zhang <jszhang@kernel.org>
Link: https://patch.msgid.link/20250629094803.776-1-jszhang@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/rt5739.c

index 91412c905ce64870d7b2c7ffc65ac97f7b063e9e..5fcddd7c2da7356c7effc0080fd8e7cf86cb2014 100644 (file)
@@ -24,6 +24,8 @@
 #define RT5739_REG_NSEL1       0x01
 #define RT5739_REG_CNTL1       0x02
 #define RT5739_REG_ID1         0x03
+#define RT5739_REG_ID2         0x04
+#define RT5739_REG_MON         0x05
 #define RT5739_REG_CNTL2       0x06
 #define RT5739_REG_CNTL4       0x08
 
@@ -236,11 +238,18 @@ static void rt5739_init_regulator_desc(struct regulator_desc *desc,
        }
 }
 
+static bool rt5739_volatile_reg(struct device *dev, unsigned int reg)
+{
+       return reg == RT5739_REG_MON;
+}
+
 static const struct regmap_config rt5739_regmap_config = {
        .name = "rt5739",
        .reg_bits = 8,
        .val_bits = 8,
        .max_register = RT5739_REG_CNTL4,
+       .cache_type = REGCACHE_MAPLE,
+       .volatile_reg = rt5739_volatile_reg,
 };
 
 static int rt5739_probe(struct i2c_client *i2c)