ASoC: intel: skl_hda_dsp_common: create HDMI jack kctl
authorLibin Yang <libin.yang@intel.com>
Thu, 8 Aug 2019 19:27:34 +0000 (14:27 -0500)
committerMark Brown <broonie@kernel.org>
Thu, 8 Aug 2019 19:57:01 +0000 (20:57 +0100)
This patch call snd_jack_add_new_kctl() to create the HDMI jack kctls.
Userspace needs these kctls to detect the hdmi monitor hotplug.

In /usr/share/alsa/ucm, the config file needs to assign a jack kctl to
"JackControl" to let PA get the jack hotplug status.

Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20190808192734.18286-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/skl_hda_dsp_common.c

index 55fd82e05e2c18f28fc034f90df4e01a20233112..58409b6e476e19b3921ab7a3a66abcbfbfc36701 100644 (file)
@@ -147,6 +147,11 @@ int skl_hda_hdmi_jack_init(struct snd_soc_card *card)
                if (err)
                        return err;
 
+               err = snd_jack_add_new_kctl(pcm->hdmi_jack.jack,
+                                           jack_name, SND_JACK_AVOUT);
+               if (err)
+                       dev_warn(component->dev, "failed creating Jack kctl\n");
+
                err = hdac_hdmi_jack_init(pcm->codec_dai, pcm->device,
                                          &pcm->hdmi_jack);
                if (err < 0)