瀏覽代碼

ASoC: Intel: Skylake: Add jack port initialize in nau88l25_ssm4567 machine

After the pcm jack is created, create and initialize the pin switch
widget for each port. Pin switch is to enable/disable the pin when
monitor is connected/disconnected.

Signed-off-by: Jeeja KP <jeeja.kp@intel.com>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jeeja KP 8 年之前
父節點
當前提交
86b5703158
共有 1 個文件被更改,包括 6 次插入4 次删除
  1. 6 4
      sound/soc/intel/boards/skl_nau88l25_ssm4567.c

+ 6 - 4
sound/soc/intel/boards/skl_nau88l25_ssm4567.c

@@ -136,9 +136,6 @@ static const struct snd_soc_dapm_route skylake_map[] = {
 	{"MIC", NULL, "Headset Mic"},
 	{"MIC", NULL, "Headset Mic"},
 	{"DMic", NULL, "SoC DMIC"},
 	{"DMic", NULL, "SoC DMIC"},
 
 
-	{"DP1", NULL, "hif5-0 Output"},
-	{"DP2", NULL, "hif6-0 Output"},
-
 	/* CODEC BE connections */
 	/* CODEC BE connections */
 	{ "Left Playback", NULL, "ssp0 Tx"},
 	{ "Left Playback", NULL, "ssp0 Tx"},
 	{ "Right Playback", NULL, "ssp0 Tx"},
 	{ "Right Playback", NULL, "ssp0 Tx"},
@@ -660,10 +657,12 @@ static int skylake_card_late_probe(struct snd_soc_card *card)
 {
 {
 	struct skl_nau88125_private *ctx = snd_soc_card_get_drvdata(card);
 	struct skl_nau88125_private *ctx = snd_soc_card_get_drvdata(card);
 	struct skl_hdmi_pcm *pcm;
 	struct skl_hdmi_pcm *pcm;
+	struct snd_soc_codec *codec = NULL;
 	int err, i = 0;
 	int err, i = 0;
 	char jack_name[NAME_SIZE];
 	char jack_name[NAME_SIZE];
 
 
 	list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
 	list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
+		codec = pcm->codec_dai->codec;
 		snprintf(jack_name, sizeof(jack_name),
 		snprintf(jack_name, sizeof(jack_name),
 			"HDMI/DP, pcm=%d Jack", pcm->device);
 			"HDMI/DP, pcm=%d Jack", pcm->device);
 		err = snd_soc_card_jack_new(card, jack_name,
 		err = snd_soc_card_jack_new(card, jack_name,
@@ -682,7 +681,10 @@ static int skylake_card_late_probe(struct snd_soc_card *card)
 		i++;
 		i++;
 	}
 	}
 
 
-	return 0;
+	if (!codec)
+		return -EINVAL;
+
+	return hdac_hdmi_jack_port_init(codec, &card->dapm);
 }
 }
 
 
 /* skylake audio machine driver for SPT + NAU88L25 */
 /* skylake audio machine driver for SPT + NAU88L25 */