Loading sound/soc/codecs/wm8994.c +13 −12 Original line number Original line Diff line number Diff line Loading @@ -3170,9 +3170,6 @@ static void wm8958_default_micdet(u16 status, void *data) snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, WM8958_MICD_ENA, 0); WM8958_MICD_ENA, 0); wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_JACK); if (wm8994->pdata->jd_ext_cap) { if (wm8994->pdata->jd_ext_cap) { mutex_lock(&codec->mutex); mutex_lock(&codec->mutex); snd_soc_dapm_disable_pin(&codec->dapm, snd_soc_dapm_disable_pin(&codec->dapm, Loading @@ -3180,6 +3177,9 @@ static void wm8958_default_micdet(u16 status, void *data) snd_soc_dapm_sync(&codec->dapm); snd_soc_dapm_sync(&codec->dapm); mutex_unlock(&codec->mutex); mutex_unlock(&codec->mutex); } } wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_JACK); } } } } Loading Loading @@ -3235,23 +3235,24 @@ static irqreturn_t wm1811_jackdet_irq(int irq, void *data) snd_soc_update_bits(codec, WM8958_MICBIAS2, snd_soc_update_bits(codec, WM8958_MICBIAS2, WM8958_MICB2_DISCH, 0); WM8958_MICB2_DISCH, 0); /* If required for an external cap force MICBIAS on */ if (wm8994->pdata->jd_ext_cap) { mutex_lock(&codec->mutex); snd_soc_dapm_force_enable_pin(&codec->dapm, "MICBIAS2"); snd_soc_dapm_sync(&codec->dapm); mutex_unlock(&codec->mutex); } /* /* * Start off measument of microphone impedence to find * Start off measument of microphone impedence to find * out what's actually there. * out what's actually there. */ */ wm8994->mic_detecting = true; wm8994->mic_detecting = true; wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_MIC); wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_MIC); snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, WM8958_MICD_ENA, WM8958_MICD_ENA); WM8958_MICD_ENA, WM8958_MICD_ENA); /* If required for an external cap force MICBIAS on */ if (wm8994->pdata->jd_ext_cap) { mutex_lock(&codec->mutex); snd_soc_dapm_force_enable_pin(&codec->dapm, "MICBIAS2"); snd_soc_dapm_sync(&codec->dapm); mutex_unlock(&codec->mutex); } } else { } else { dev_dbg(codec->dev, "Jack not detected\n"); dev_dbg(codec->dev, "Jack not detected\n"); Loading Loading
sound/soc/codecs/wm8994.c +13 −12 Original line number Original line Diff line number Diff line Loading @@ -3170,9 +3170,6 @@ static void wm8958_default_micdet(u16 status, void *data) snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, WM8958_MICD_ENA, 0); WM8958_MICD_ENA, 0); wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_JACK); if (wm8994->pdata->jd_ext_cap) { if (wm8994->pdata->jd_ext_cap) { mutex_lock(&codec->mutex); mutex_lock(&codec->mutex); snd_soc_dapm_disable_pin(&codec->dapm, snd_soc_dapm_disable_pin(&codec->dapm, Loading @@ -3180,6 +3177,9 @@ static void wm8958_default_micdet(u16 status, void *data) snd_soc_dapm_sync(&codec->dapm); snd_soc_dapm_sync(&codec->dapm); mutex_unlock(&codec->mutex); mutex_unlock(&codec->mutex); } } wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_JACK); } } } } Loading Loading @@ -3235,23 +3235,24 @@ static irqreturn_t wm1811_jackdet_irq(int irq, void *data) snd_soc_update_bits(codec, WM8958_MICBIAS2, snd_soc_update_bits(codec, WM8958_MICBIAS2, WM8958_MICB2_DISCH, 0); WM8958_MICB2_DISCH, 0); /* If required for an external cap force MICBIAS on */ if (wm8994->pdata->jd_ext_cap) { mutex_lock(&codec->mutex); snd_soc_dapm_force_enable_pin(&codec->dapm, "MICBIAS2"); snd_soc_dapm_sync(&codec->dapm); mutex_unlock(&codec->mutex); } /* /* * Start off measument of microphone impedence to find * Start off measument of microphone impedence to find * out what's actually there. * out what's actually there. */ */ wm8994->mic_detecting = true; wm8994->mic_detecting = true; wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_MIC); wm1811_jackdet_set_mode(codec, WM1811_JACKDET_MODE_MIC); snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, snd_soc_update_bits(codec, WM8958_MIC_DETECT_1, WM8958_MICD_ENA, WM8958_MICD_ENA); WM8958_MICD_ENA, WM8958_MICD_ENA); /* If required for an external cap force MICBIAS on */ if (wm8994->pdata->jd_ext_cap) { mutex_lock(&codec->mutex); snd_soc_dapm_force_enable_pin(&codec->dapm, "MICBIAS2"); snd_soc_dapm_sync(&codec->dapm); mutex_unlock(&codec->mutex); } } else { } else { dev_dbg(codec->dev, "Jack not detected\n"); dev_dbg(codec->dev, "Jack not detected\n"); Loading