ASoC: rt5645: Simplify rt5645_enable_push_button_irq
LDO2/Mic Det Power pins are already enabled/disabled in rt5645_jack_detect (the jack out code path previously did not disable those if button function is enabled: modify it to make it so). Signed-off-by: Nicolas Boichat <drinkcat@chromium.org> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
b14c917409
commit
a4e3c5fa95
1 changed files with 12 additions and 21 deletions
|
@ -2766,13 +2766,9 @@ static void rt5645_enable_push_button_irq(struct snd_soc_codec *codec,
|
|||
struct rt5645_priv *rt5645 = snd_soc_codec_get_drvdata(codec);
|
||||
|
||||
if (enable) {
|
||||
snd_soc_dapm_mutex_lock(dapm);
|
||||
snd_soc_dapm_force_enable_pin_unlocked(dapm, "ADC L power");
|
||||
snd_soc_dapm_force_enable_pin_unlocked(dapm, "ADC R power");
|
||||
snd_soc_dapm_force_enable_pin_unlocked(dapm, "LDO2");
|
||||
snd_soc_dapm_force_enable_pin_unlocked(dapm, "Mic Det Power");
|
||||
snd_soc_dapm_sync_unlocked(dapm);
|
||||
snd_soc_dapm_mutex_unlock(dapm);
|
||||
snd_soc_dapm_force_enable_pin(dapm, "ADC L power");
|
||||
snd_soc_dapm_force_enable_pin(dapm, "ADC R power");
|
||||
snd_soc_dapm_sync(dapm);
|
||||
|
||||
snd_soc_update_bits(codec,
|
||||
RT5645_INT_IRQ_ST, 0x8, 0x8);
|
||||
|
@ -2785,14 +2781,9 @@ static void rt5645_enable_push_button_irq(struct snd_soc_codec *codec,
|
|||
snd_soc_update_bits(codec, RT5650_4BTN_IL_CMD2, 0x8000, 0x0);
|
||||
snd_soc_update_bits(codec, RT5645_INT_IRQ_ST, 0x8, 0x0);
|
||||
|
||||
snd_soc_dapm_mutex_lock(dapm);
|
||||
snd_soc_dapm_disable_pin_unlocked(dapm, "ADC L power");
|
||||
snd_soc_dapm_disable_pin_unlocked(dapm, "ADC R power");
|
||||
if (rt5645->pdata.jd_mode == 0)
|
||||
snd_soc_dapm_disable_pin_unlocked(dapm, "LDO2");
|
||||
snd_soc_dapm_disable_pin_unlocked(dapm, "Mic Det Power");
|
||||
snd_soc_dapm_sync_unlocked(dapm);
|
||||
snd_soc_dapm_mutex_unlock(dapm);
|
||||
snd_soc_dapm_disable_pin(dapm, "ADC L power");
|
||||
snd_soc_dapm_disable_pin(dapm, "ADC R power");
|
||||
snd_soc_dapm_sync(dapm);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2847,14 +2838,14 @@ static int rt5645_jack_detect(struct snd_soc_codec *codec, int jack_insert)
|
|||
|
||||
} else { /* jack out */
|
||||
rt5645->jack_type = 0;
|
||||
|
||||
if (rt5645->en_button_func)
|
||||
rt5645_enable_push_button_irq(codec, false);
|
||||
else {
|
||||
if (rt5645->pdata.jd_mode == 0)
|
||||
snd_soc_dapm_disable_pin(dapm, "LDO2");
|
||||
snd_soc_dapm_disable_pin(dapm, "Mic Det Power");
|
||||
snd_soc_dapm_sync(dapm);
|
||||
}
|
||||
|
||||
if (rt5645->pdata.jd_mode == 0)
|
||||
snd_soc_dapm_disable_pin(dapm, "LDO2");
|
||||
snd_soc_dapm_disable_pin(dapm, "Mic Det Power");
|
||||
snd_soc_dapm_sync(dapm);
|
||||
}
|
||||
|
||||
return rt5645->jack_type;
|
||||
|
|
Loading…
Reference in a new issue