Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a77e386d authored by Vignesh Kulothungan's avatar Vignesh Kulothungan
Browse files

Revert "ASoC: codecs: handle device disconnect during SSR"



This reverts commit 75f22923.

Change-Id: Ie37d6ac80a3f86df50cdaab65dfd51624f7c7517
Signed-off-by: default avatarVignesh Kulothungan <vigneshk@codeaurora.org>
parent 25ae32a5
Loading
Loading
Loading
Loading
+0 −19
Original line number Diff line number Diff line
@@ -1630,8 +1630,6 @@ static int wcd_mbhc_set_keycode(struct wcd_mbhc *mbhc)
static int wcd_mbhc_usbc_ana_event_handler(struct notifier_block *nb,
					   unsigned long mode, void *ptr)
{
	unsigned int l_det_en = 0;
	unsigned int detection_type = 0;
	struct wcd_mbhc *mbhc = container_of(nb, struct wcd_mbhc, fsa_nb);

	if (!mbhc)
@@ -1644,23 +1642,6 @@ static int wcd_mbhc_usbc_ana_event_handler(struct notifier_block *nb,
			mbhc->mbhc_cb->clk_setup(mbhc->component, true);
		/* insertion detected, enable L_DET_EN */
		WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_L_DET_EN, 1);
	} else {
		WCD_MBHC_REG_READ(WCD_MBHC_MECH_DETECTION_TYPE, detection_type);
		WCD_MBHC_REG_READ(WCD_MBHC_L_DET_EN, l_det_en);
		/* If both l_det_en and detection type are set, it means device was
		 * unplugged during SSR and detection interrupt was not handled.
		 * So trigger device disconnect */
		if (detection_type && l_det_en) {
			/* Set the detection type appropriately */
			WCD_MBHC_REG_UPDATE_BITS(WCD_MBHC_MECH_DETECTION_TYPE,
						 !detection_type);
			/* Set current plug type to the state before SSR */
			mbhc->current_plug = mbhc->plug_before_ssr;

			wcd_mbhc_swch_irq_handler(mbhc);
			mbhc->mbhc_cb->lock_sleep(mbhc, false);
			mbhc->plug_before_ssr = MBHC_PLUG_TYPE_NONE;
		}
	}
	return 0;
}
+0 −2
Original line number Diff line number Diff line
@@ -2156,8 +2156,6 @@ static int wcd938x_event_notify(struct notifier_block *block,
						     WCD938X_EVT_SSR_DOWN,
						     NULL);
		wcd938x->mbhc->wcd_mbhc.deinit_in_progress = true;
		wcd938x->mbhc->wcd_mbhc.plug_before_ssr =
					wcd938x->mbhc->wcd_mbhc.current_plug;
		mbhc = &wcd938x->mbhc->wcd_mbhc;
		wcd938x->usbc_hs_status = get_usbc_hs_status(component,
						mbhc->mbhc_cfg);
+0 −1
Original line number Diff line number Diff line
@@ -551,7 +551,6 @@ struct wcd_mbhc {
	wait_queue_head_t wait_btn_press;
	bool is_btn_press;
	u8 current_plug;
	u8 plug_before_ssr;
	bool in_swch_irq_handler;
	bool hphl_swh; /*track HPHL switch NC / NO */
	bool gnd_swh; /*track GND switch NC / NO */