Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cad43d67 authored by Vangala, Amarnath's avatar Vangala, Amarnath
Browse files

asoc: holi: add wcd937x mbhc detection at probe



Add support for wcd937x mbhc detetion at probe.

Change-Id: Ibcd04d2670ff1d9c8535d098e11f58448cf3c15e
Signed-off-by: default avatarVangala, Amarnath <avangala@codeaurora.org>
parent 2711643b
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -6368,6 +6368,7 @@ static int msm_aux_codec_init(struct snd_soc_pcm_runtime *rtd)
	struct snd_info_entry *entry;
	struct snd_card *card = NULL;
	struct msm_asoc_mach_data *pdata;
	bool is_wcd938x = false;

	pdata = snd_soc_card_get_drvdata(rtd->card);
	if(!pdata)
@@ -6387,9 +6388,11 @@ static int msm_aux_codec_init(struct snd_soc_pcm_runtime *rtd)
	}

	component = snd_soc_rtdcom_lookup(rtd, WCD938X_DRV_NAME);
	if (!component) {
	if (!component)
		component = snd_soc_rtdcom_lookup(rtd, WCD937X_DRV_NAME);
	}
	else
		is_wcd938x = true;

	if (!component) {
		pr_err("%s component is NULL\n", __func__);
		return -EINVAL;
@@ -6460,7 +6463,12 @@ static int msm_aux_codec_init(struct snd_soc_pcm_runtime *rtd)
	if (!mbhc_calibration)
		return -ENOMEM;
	wcd_mbhc_cfg.calibration = mbhc_calibration;

	if (is_wcd938x)
		ret = wcd938x_mbhc_hs_detect(component, &wcd_mbhc_cfg);
	else
		ret = wcd937x_mbhc_hs_detect(component, &wcd_mbhc_cfg);

	if (ret) {
		dev_err(component->dev, "%s: mbhc hs detect failed, err:%d\n",
			__func__, ret);