ASoC: wcd-mbhc: disable fake electrical interrupts

Electrical interrupts are enabled across mechanical removal of
headphone. This causes fake electrical removal interrupts during
cross connection check. So disable electrical interrupts during
removal of headphone.

CRs-Fixed: 1030696
Change-Id: Ib4cc92b86f01991d8d8dbad54c68ee79cbaea44a
Signed-off-by: dojha <dojha@codeaurora.org>
This commit is contained in:
dojha 2016-07-11 11:14:45 +05:30 committed by Gerrit - the friendly Code Review server
parent 7eb20e5733
commit 37545170e3

View file

@ -1545,6 +1545,13 @@ static void wcd_mbhc_swch_irq_handler(struct wcd_mbhc *mbhc)
mbhc->btn_press_intr = false;
if (mbhc->current_plug == MBHC_PLUG_TYPE_HEADPHONE) {
wcd_mbhc_hs_elec_irq(mbhc, WCD_MBHC_ELEC_HS_REM,
false);
wcd_mbhc_hs_elec_irq(mbhc, WCD_MBHC_ELEC_HS_INS,
false);
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_ELECT_DETECTION_TYPE,
1);
WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_ELECT_SCHMT_ISRC, 0);
wcd_mbhc_report_plug(mbhc, 0, SND_JACK_HEADPHONE);
} else if (mbhc->current_plug == MBHC_PLUG_TYPE_GND_MIC_SWAP) {
wcd_mbhc_report_plug(mbhc, 0, SND_JACK_UNSUPPORTED);