asoc: mbhc: add extcon device for MBHC

Add extcon device for MBHC.

Change-Id: I2f22223bc62f4f4b5f2e8cb61cf7e7d41548947f
Signed-off-by: Meng Wang <mengw@codeaurora.org>
This commit is contained in:
Meng Wang
2020-12-09 12:33:01 +08:00
parent 3ae97cf8fa
commit ecf424366e
4 changed files with 88 additions and 17 deletions

View File

@@ -1049,16 +1049,21 @@ static irqreturn_t wcd_mbhc_adc_hs_rem_irq(int irq, void *data)
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_BTN_ISRC_CTL, 0);
mbhc->btn_press_intr = false;
mbhc->is_btn_press = false;
if (mbhc->current_plug == MBHC_PLUG_TYPE_HEADSET)
if (mbhc->current_plug == MBHC_PLUG_TYPE_HEADSET) {
wcd_mbhc_report_plug(mbhc, 0, SND_JACK_HEADSET);
else if (mbhc->current_plug == MBHC_PLUG_TYPE_HEADPHONE)
extcon_set_state_sync(mbhc->extdev, EXTCON_JACK_MICROPHONE, 0);
} else if (mbhc->current_plug == MBHC_PLUG_TYPE_HEADPHONE) {
wcd_mbhc_report_plug(mbhc, 0, SND_JACK_HEADPHONE);
extcon_set_state_sync(mbhc->extdev, EXTCON_JACK_HEADPHONE, 0);
} else if (mbhc->current_plug == MBHC_PLUG_TYPE_GND_MIC_SWAP) {
#if IS_ENABLED(CONFIG_AUDIO_QGKI)
else if (mbhc->current_plug == MBHC_PLUG_TYPE_GND_MIC_SWAP)
wcd_mbhc_report_plug(mbhc, 0, SND_JACK_UNSUPPORTED);
#endif /* CONFIG_AUDIO_QGKI */
else if (mbhc->current_plug == MBHC_PLUG_TYPE_HIGH_HPH)
extcon_set_state_sync(mbhc->extdev, EXTCON_MECHANICAL, 0);
} else if (mbhc->current_plug == MBHC_PLUG_TYPE_HIGH_HPH) {
wcd_mbhc_report_plug(mbhc, 0, SND_JACK_LINEOUT);
extcon_set_state_sync(mbhc->extdev, EXTCON_JACK_LINE_OUT, 0);
}
} else {
/*
* ADC COMPLETE and ELEC_REM interrupts are both enabled for