diff options
author | Bard Liao <bardliao@realtek.com> | 2016-10-24 10:32:18 (GMT) |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-10-24 15:03:00 (GMT) |
commit | f515c3834a4adf8b33f0e7215d434410b1687164 (patch) | |
tree | ab331245e26b39dd7a869bb16f1deecb52e76ebc | |
parent | 1001354ca34179f3db924eb66672442a173147dc (diff) | |
download | linux-f515c3834a4adf8b33f0e7215d434410b1687164.tar.xz |
ASoC: rt298: fix jack type detect error
rt298_jack_detect may be called before card is instantiated. And
snd_soc_dapm_force_enable_pin will not work in that case. So, update
bit manually by regmap_update_bits.
Signed-off-by: Bard Liao <bardliao@realtek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/codecs/rt298.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/codecs/rt298.c b/sound/soc/codecs/rt298.c index 5555864..2db8179 100644 --- a/sound/soc/codecs/rt298.c +++ b/sound/soc/codecs/rt298.c @@ -249,6 +249,11 @@ static int rt298_jack_detect(struct rt298_priv *rt298, bool *hp, bool *mic) snd_soc_dapm_force_enable_pin(dapm, "LDO1"); snd_soc_dapm_sync(dapm); + regmap_update_bits(rt298->regmap, + RT298_POWER_CTRL1, 0x1001, 0); + regmap_update_bits(rt298->regmap, + RT298_POWER_CTRL2, 0x4, 0x4); + regmap_write(rt298->regmap, RT298_SET_MIC1, 0x24); msleep(50); |