]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
regulator: tps6286x-regulator: Enable REGCACHE_MAPLE
authorJisheng Zhang <jszhang@kernel.org>
Sun, 29 Jun 2025 09:51:07 +0000 (17:51 +0800)
committerMark Brown <broonie@kernel.org>
Mon, 30 Jun 2025 11:15:40 +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/20250629095107.804-1-jszhang@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/regulator/tps6286x-regulator.c

index 75f441f36de7c4f34b2101623c2d8179c277580f..778f169b0acc67242eba3a7d3c8a11bcee736a99 100644 (file)
 #define TPS6286X_CONTROL_FPWM  BIT(4)
 #define TPS6286X_CONTROL_SWEN  BIT(5)
 
+#define TPS6286X_STATUS                0x05
+
 #define TPS6286X_MIN_MV                400
 #define TPS6286X_MAX_MV                1675
 #define TPS6286X_STEP_MV       5
 
+static bool tps6287x_volatile_reg(struct device *dev, unsigned int reg)
+{
+       return reg == TPS6286X_STATUS;
+}
+
 static const struct regmap_config tps6286x_regmap_config = {
        .reg_bits = 8,
        .val_bits = 8,
+       .cache_type = REGCACHE_MAPLE,
+       .volatile_reg = tps6287x_volatile_reg,
 };
 
 static int tps6286x_set_mode(struct regulator_dev *rdev, unsigned int mode)