From 892efe8d09464c8a6c278365ab6fd5ffbbabae94 Mon Sep 17 00:00:00 2001 From: Vatsal Bucha Date: Mon, 10 Aug 2020 11:02:04 +0530 Subject: [PATCH] ASoC: mbhc: Call impedance detection routine before get impedance Call impedance detection routine as part of callback to get impedance before printing value of impedance. Change-Id: I8b7174e4f7fd9c7715a2c12a0628c8f7849a93e6 Signed-off-by: Vatsal Bucha --- asoc/codecs/wcd-mbhc-v2.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/asoc/codecs/wcd-mbhc-v2.c b/asoc/codecs/wcd-mbhc-v2.c index 08d7678b7d..3194724ee2 100644 --- a/asoc/codecs/wcd-mbhc-v2.c +++ b/asoc/codecs/wcd-mbhc-v2.c @@ -515,6 +515,15 @@ static void wcd_mbhc_set_and_turnoff_hph_padac(struct wcd_mbhc *mbhc) int wcd_mbhc_get_impedance(struct wcd_mbhc *mbhc, uint32_t *zl, uint32_t *zr) { + int detection_type = -EINVAL; + + WCD_MBHC_REG_READ(WCD_MBHC_MECH_DETECTION_TYPE, detection_type); + /* Call compute impedance only when accessory is inserted */ + if (!detection_type) { + if (mbhc->mbhc_cb->compute_impedance) + mbhc->mbhc_cb->compute_impedance(mbhc, + &mbhc->zl, &mbhc->zr); + } *zl = mbhc->zl; *zr = mbhc->zr;