From c3d8c9f2c3cd78e1fdb83e4a1b00a9476c10be36 Mon Sep 17 00:00:00 2001 From: Karthikeyan Mani Date: Wed, 15 May 2019 15:19:56 -0700 Subject: [PATCH] asoc: codecs: wcd938x: Read and store mic bias value Mic bias value is needed in case of special headset detection logic and the same needs to be read and stored from device tree to be used by mbhc driver. Change-Id: I11c8ac6b0abc7ba04b6750c59405794bc768dc42 Signed-off-by: Karthikeyan Mani --- asoc/codecs/wcd938x/wcd938x-mbhc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/asoc/codecs/wcd938x/wcd938x-mbhc.c b/asoc/codecs/wcd938x/wcd938x-mbhc.c index 2516943ded62..b9bbdaeb54c2 100644 --- a/asoc/codecs/wcd938x/wcd938x-mbhc.c +++ b/asoc/codecs/wcd938x/wcd938x-mbhc.c @@ -1032,6 +1032,7 @@ int wcd938x_mbhc_init(struct wcd938x_mbhc **mbhc, struct wcd938x_mbhc *wcd938x_mbhc = NULL; struct wcd_mbhc *wcd_mbhc = NULL; int ret = 0; + struct wcd938x_pdata *pdata; if (!component) { pr_err("%s: component is NULL\n", __func__); @@ -1055,6 +1056,15 @@ int wcd938x_mbhc_init(struct wcd938x_mbhc **mbhc, /* Setting default mbhc detection logic to ADC */ wcd_mbhc->mbhc_detection_logic = WCD_DETECTION_ADC; + pdata = dev_get_platdata(component->dev); + if (!pdata) { + dev_err(component->dev, "%s: pdata pointer is NULL\n", + __func__); + ret = -EINVAL; + goto err; + } + wcd_mbhc->micb_mv = pdata->micbias.micb2_mv; + ret = wcd_mbhc_init(wcd_mbhc, component, &mbhc_cb, &intr_ids, wcd_mbhc_registers, WCD938X_ZDET_SUPPORTED);