From: Charles Keepax Date: Mon, 9 Dec 2019 11:09:11 +0000 (+0000) Subject: extcon: arizona: Tidy up transition from mic to headphone detect X-Git-Tag: v5.10.7~3368^2~8^2~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d5aa46ddf9ed7cf0d7ea0b86bec20412733ac870;p=platform%2Fkernel%2Flinux-rpi.git 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: Charles Keepax Signed-off-by: Chanwoo Choi --- diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c index 11f1d75..5ae111e 100644 --- a/drivers/extcon/extcon-arizona.c +++ b/drivers/extcon/extcon-arizona.c @@ -705,8 +705,7 @@ static void arizona_identify_headphone(struct arizona_extcon_info *info) info->hpdet_active = true; - if (info->mic) - arizona_stop_mic(info); + 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 {