|
@@ -1036,6 +1036,8 @@ int wcd9378_mbhc_post_ssr_init(struct wcd9378_mbhc *mbhc,
|
|
|
{
|
|
|
int ret = 0;
|
|
|
struct wcd_mbhc *wcd_mbhc = NULL;
|
|
|
+ struct wcd9378_priv *wcd9378 =
|
|
|
+ dev_get_drvdata(component->dev);
|
|
|
|
|
|
if (!mbhc || !component)
|
|
|
return -EINVAL;
|
|
@@ -1057,6 +1059,15 @@ int wcd9378_mbhc_post_ssr_init(struct wcd9378_mbhc *mbhc,
|
|
|
goto done;
|
|
|
}
|
|
|
|
|
|
+ wcd_disable_irq(&wcd9378->irq_info,
|
|
|
+ WCD9378_IRQ_MBHC_ELECT_INS_REM_DET);
|
|
|
+ wcd_disable_irq(&wcd9378->irq_info,
|
|
|
+ WCD9378_IRQ_MBHC_ELECT_INS_REM_LEG_DET);
|
|
|
+ wcd_disable_irq(&wcd9378->irq_info,
|
|
|
+ WCD9378_IRQ_EAR_SCD_INT);
|
|
|
+ wcd_disable_irq(&wcd9378->irq_info,
|
|
|
+ WCD9378_IRQ_AUX_SCD_INT);
|
|
|
+
|
|
|
done:
|
|
|
return ret;
|
|
|
}
|
|
@@ -1077,6 +1088,8 @@ int wcd9378_mbhc_init(struct wcd9378_mbhc **mbhc,
|
|
|
struct wcd_mbhc *wcd_mbhc = NULL;
|
|
|
int ret = 0;
|
|
|
struct wcd9378_pdata *pdata;
|
|
|
+ struct wcd9378_priv *wcd9378 =
|
|
|
+ dev_get_drvdata(component->dev);
|
|
|
|
|
|
if (!component) {
|
|
|
pr_err("%s: component is NULL\n", __func__);
|
|
@@ -1117,6 +1130,15 @@ int wcd9378_mbhc_init(struct wcd9378_mbhc **mbhc,
|
|
|
goto err;
|
|
|
}
|
|
|
|
|
|
+ wcd_disable_irq(&wcd9378->irq_info,
|
|
|
+ WCD9378_IRQ_MBHC_ELECT_INS_REM_DET);
|
|
|
+ wcd_disable_irq(&wcd9378->irq_info,
|
|
|
+ WCD9378_IRQ_MBHC_ELECT_INS_REM_LEG_DET);
|
|
|
+ wcd_disable_irq(&wcd9378->irq_info,
|
|
|
+ WCD9378_IRQ_EAR_SCD_INT);
|
|
|
+ wcd_disable_irq(&wcd9378->irq_info,
|
|
|
+ WCD9378_IRQ_AUX_SCD_INT);
|
|
|
+
|
|
|
(*mbhc) = wcd9378_mbhc;
|
|
|
snd_soc_add_component_controls(component, impedance_detect_controls,
|
|
|
ARRAY_SIZE(impedance_detect_controls));
|