From 6c58c723f2cf79b8ef43662dc30a688348719675 Mon Sep 17 00:00:00 2001
From: Shengjiu Wang <shengjiu.wang@nxp.com>
Date: Thu, 27 Sep 2018 11:52:24 +0800
Subject: [PATCH] MLK-19733-1: ASoC: imx-wm8960: Remove duplicate jack kcontrol

We first add the jack kcontrol in commit c2c7959e3af3 ("MLK-11479-09
pulseaudio5.0 mute Headphone volume when Headphone plugged")

After that there is change in kernel by commit f63e8581e277 ("ASoC: jack:
create kctls according to jack pins info"), the jack kcontrol will be
created with snd_soc_jack_add_pins.

So our change for jack kcontrol in machine driver is not need now, for
driver already call imx_wm8960_gpio_init -> snd_soc_card_jack_new ->
snd_soc_jack_add_pins. otherwise the jack kcontrol will be created twice.

Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
(cherry picked from commit 538e8f43b621f93fcf3c2a0fcbf82c3de1a2e36e)
Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
Signed-off-by: Srikanth Krishnakar <Srikanth_Krishnakar@mentor.com>
---
 sound/soc/fsl/imx-wm8960.c | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/sound/soc/fsl/imx-wm8960.c b/sound/soc/fsl/imx-wm8960.c
index 6ae6c462c47eb2..39f69085f802d6 100644
--- a/sound/soc/fsl/imx-wm8960.c
+++ b/sound/soc/fsl/imx-wm8960.c
@@ -44,10 +44,8 @@ struct imx_priv {
 	enum of_gpio_flags hp_active_low;
 	enum of_gpio_flags mic_active_low;
 	bool is_headset_jack;
-	struct snd_jack jack_data;
 	struct platform_device *pdev;
 	struct platform_device *asrc_pdev;
-	struct snd_card *snd_card;
 };
 
 static struct imx_priv card_priv;
@@ -92,7 +90,6 @@ static int hp_jack_status_check(void *data)
 			snd_soc_dapm_disable_pin(dapm, "Main MIC");
 		}
 		ret = imx_hp_jack_gpio.report;
-		snd_jack_report(jack->jack, 1);
 	} else {
 		snd_soc_dapm_enable_pin(dapm, "Ext Spk");
 		if (priv->is_headset_jack) {
@@ -100,7 +97,6 @@ static int hp_jack_status_check(void *data)
 			snd_soc_dapm_enable_pin(dapm, "Main MIC");
 		}
 		ret = 0;
-		snd_jack_report(jack->jack, 0);
 	}
 
 	return ret;
@@ -603,8 +599,6 @@ static int imx_wm8960_probe(struct platform_device *pdev)
 		goto fail;
 	}
 
-	priv->snd_card = data->card.snd_card;
-
 	imx_hp_jack_gpio.gpio = of_get_named_gpio_flags(pdev->dev.of_node,
 			"hp-det-gpios", 0, &priv->hp_active_low);
 
@@ -622,14 +616,6 @@ static int imx_wm8960_probe(struct platform_device *pdev)
 			imx_hp_jack_gpio.report |= SND_JACK_MICROPHONE;
 		}
 
-		priv->jack_data.card = data->card.snd_card;
-		INIT_LIST_HEAD(&priv->jack_data.kctl_list);
-
-		ret = snd_jack_add_new_kctl(&priv->jack_data,
-					"Headphone", imx_hp_jack_pin.mask);
-		if (ret)
-			dev_warn(&pdev->dev, "failed to create headphone jack kctl\n");
-
 		imx_hp_jack_gpio.jack_status_check = hp_jack_status_check;
 		imx_hp_jack_gpio.data = &imx_hp_jack;
 		ret = imx_wm8960_jack_init(&data->card, &imx_hp_jack,
-- 
GitLab