aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2021-07-07 17:02:34 +0100
committerMark Brown <broonie@kernel.org>2021-07-11 23:44:32 +0100
commit6c621b811f99feb3941f04b386795b45f47cd771 (patch)
tree4ef7ce0d7256dd5045d92aa08223d3ab4777d45e
parentASoC: tlv320aic32x4: Fix TAS2505 volume controls (diff)
downloadlinux-dev-6c621b811f99feb3941f04b386795b45f47cd771.tar.xz
linux-dev-6c621b811f99feb3941f04b386795b45f47cd771.zip
ASoC: tlv320aic31xx: Make regmap cache only on probe()
Currently the tlv320aic31xx driver has regulator support but does not enable the regulators during probe, deferring this until something causes ASoC to make the card active. It does put the device into cache only mode but only when the component level probe is called, however if interrupts are in use the driver will access the regmap before then which if the regulators are not powered on would cause I/O problems. Signed-off-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/20210707160234.16253-1-broonie@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/tlv320aic31xx.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic31xx.c
index 51870d50f419..b504d63385b3 100644
--- a/sound/soc/codecs/tlv320aic31xx.c
+++ b/sound/soc/codecs/tlv320aic31xx.c
@@ -1604,6 +1604,8 @@ static int aic31xx_i2c_probe(struct i2c_client *i2c,
ret);
return ret;
}
+ regcache_cache_only(aic31xx->regmap, true);
+
aic31xx->dev = &i2c->dev;
aic31xx->irq = i2c->irq;