Commit d5aa46dd authored by Charles Keepax's avatar Charles Keepax Committed by Chanwoo Choi
Browse files

extcon: arizona: Tidy up transition from mic to headphone detect



Moving from microphone detection to headphone detection is done fairly
haphazardly at the moment, sometimes calling arizona_stop_mic at the
call site sometimes relying on a call inside arizona_identify_headphone.
Simplify all this and always call arizona_stop_mic at the top of
arizona_identify_headphone.

Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
parent ac7614fa
Loading
Loading
Loading
Loading
+1 −8
Original line number Diff line number Diff line
@@ -705,7 +705,6 @@ static void arizona_identify_headphone(struct arizona_extcon_info *info)

	info->hpdet_active = true;

	if (info->mic)
	arizona_stop_mic(info);

	arizona_extcon_hp_clamp(info, true);
@@ -815,8 +814,6 @@ static void arizona_micd_timeout_work(struct work_struct *work)

	arizona_identify_headphone(info);

	arizona_stop_mic(info);

	mutex_unlock(&info->lock);
}

@@ -906,7 +903,6 @@ static void arizona_micd_detect(struct work_struct *work)
	if (!(val & ARIZONA_MICD_STS)) {
		dev_warn(arizona->dev, "Detected open circuit\n");
		info->mic = false;
		arizona_stop_mic(info);
		info->detecting = false;
		arizona_identify_headphone(info);
		goto handled;
@@ -948,8 +944,6 @@ static void arizona_micd_detect(struct work_struct *work)
			info->detecting = false;

			arizona_identify_headphone(info);

			arizona_stop_mic(info);
		} else {
			info->micd_mode++;
			if (info->micd_mode == info->micd_num_modes)
@@ -988,7 +982,6 @@ static void arizona_micd_detect(struct work_struct *work)
		} else if (info->detecting) {
			dev_dbg(arizona->dev, "Headphone detected\n");
			info->detecting = false;
			arizona_stop_mic(info);

			arizona_identify_headphone(info);
		} else {