summaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/es8326.c
diff options
context:
space:
mode:
authorZhu Ning <zhuning0077@gmail.com>2023-07-17 05:32:20 +0200
committerMark Brown <broonie@kernel.org>2023-07-25 13:11:51 +0200
commitf1230a27c14b4d05e1d6af02be55c617b53728a4 (patch)
tree9f11374814c8cd546d866bac0f462f2ee91f1ecb /sound/soc/codecs/es8326.c
parentASoC: codecs: ES8326: Change Hp_detect register names (diff)
downloadlinux-f1230a27c14b4d05e1d6af02be55c617b53728a4.tar.xz
linux-f1230a27c14b4d05e1d6af02be55c617b53728a4.zip
ASoC: codecs: ES8326: Change Volatile Reg function
The new calibration and headphone detection function require reading new volatile registers. Add them in the volatile register function. Signed-off-by: Zhu Ning <zhuning0077@gmail.com> Link: https://lore.kernel.org/r/20230717033223.42506-2-zhuning0077@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/es8326.c')
-rw-r--r--sound/soc/codecs/es8326.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/sound/soc/codecs/es8326.c b/sound/soc/codecs/es8326.c
index b62fff48f70c..9f4408dcf3af 100644
--- a/sound/soc/codecs/es8326.c
+++ b/sound/soc/codecs/es8326.c
@@ -158,20 +158,25 @@ static const struct snd_soc_dapm_route es8326_dapm_routes[] = {
{"HPOR", NULL, "RHPMIX"},
};
-static const struct regmap_range es8326_volatile_ranges[] = {
- regmap_reg_range(ES8326_HPDET_STA, ES8326_HPDET_STA),
-};
-
-static const struct regmap_access_table es8326_volatile_table = {
- .yes_ranges = es8326_volatile_ranges,
- .n_yes_ranges = ARRAY_SIZE(es8326_volatile_ranges),
-};
+static bool es8326_volatile_register(struct device *dev, unsigned int reg)
+{
+ switch (reg) {
+ case ES8326_HPL_OFFSET_INI:
+ case ES8326_HPR_OFFSET_INI:
+ case ES8326_HPDET_STA:
+ case ES8326_CTIA_OMTP_STA:
+ case ES8326_CSM_MUTE_STA:
+ return true;
+ default:
+ return false;
+ }
+}
static const struct regmap_config es8326_regmap_config = {
.reg_bits = 8,
.val_bits = 8,
.max_register = 0xff,
- .volatile_table = &es8326_volatile_table,
+ .volatile_reg = es8326_volatile_register,
.cache_type = REGCACHE_RBTREE,
};