ASoC: Intel: sof_sdw: remove hdac-hdmi support
authorKai Vehmanen <kai.vehmanen@linux.intel.com>
Mon, 21 Jun 2021 19:40:49 +0000 (14:40 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 22 Jun 2021 11:47:03 +0000 (12:47 +0100)
Remove support for using hdac_hdmi codec driver. No known products use
this configuration and hdac_hdmi cannot support all the platforms
sof_sdw does.

This change also fixes a bug in Kconfig rules.
SND_SOC_INTEL_SOUNDWIRE_SOF_MACH did not have a select SND_SOC_HDAC_HDMI
and this could cause build failures.

Reported-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Tested-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20210621194057.21711-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/boards/sof_sdw.c
sound/soc/intel/boards/sof_sdw_common.h
sound/soc/intel/boards/sof_sdw_hdmi.c

index 970d789..34f142d 100644 (file)
@@ -1273,8 +1273,6 @@ static int mc_probe(struct platform_device *pdev)
        if (ret < 0)
                return ret;
 
-       ctx->common_hdmi_codec_drv = mach->mach_params.common_hdmi_codec_drv;
-
        /*
         * the default amp_num is zero for each codec and
         * amp_num will only be increased for active amp
index 37ae3a1..ec57404 100644 (file)
@@ -79,7 +79,6 @@ struct sof_sdw_codec_info {
 
 struct mc_private {
        struct list_head hdmi_pcm_list;
-       bool common_hdmi_codec_drv;
        bool idisp_codec;
        struct snd_soc_jack sdw_headset;
 };
index 99b04bb..d47d8bf 100644 (file)
 #include <sound/soc-acpi.h>
 #include <sound/jack.h>
 #include "sof_sdw_common.h"
-#include "../../codecs/hdac_hdmi.h"
 #include "hda_dsp_common.h"
 
-static struct snd_soc_jack hdmi[MAX_HDMI_NUM];
-
 struct hdmi_pcm {
        struct list_head head;
        struct snd_soc_dai *codec_dai;
@@ -49,8 +46,6 @@ int sof_sdw_hdmi_card_late_probe(struct snd_soc_card *card)
        struct mc_private *ctx = snd_soc_card_get_drvdata(card);
        struct hdmi_pcm *pcm;
        struct snd_soc_component *component = NULL;
-       int err, i = 0;
-       char jack_name[NAME_SIZE];
 
        if (!ctx->idisp_codec)
                return 0;
@@ -62,35 +57,5 @@ int sof_sdw_hdmi_card_late_probe(struct snd_soc_card *card)
                               head);
        component = pcm->codec_dai->component;
 
-       if (ctx->common_hdmi_codec_drv)
-               return hda_dsp_hdmi_build_controls(card, component);
-
-       list_for_each_entry(pcm, &ctx->hdmi_pcm_list, head) {
-               component = pcm->codec_dai->component;
-               snprintf(jack_name, sizeof(jack_name),
-                        "HDMI/DP, pcm=%d Jack", pcm->device);
-               err = snd_soc_card_jack_new(card, jack_name,
-                                           SND_JACK_AVOUT, &hdmi[i],
-                                           NULL, 0);
-
-               if (err)
-                       return err;
-
-               err = snd_jack_add_new_kctl(hdmi[i].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,
-                                         &hdmi[i]);
-               if (err < 0)
-                       return err;
-
-               i++;
-       }
-
-       if (!component)
-               return -EINVAL;
-
-       return hdac_hdmi_jack_port_init(component, &card->dapm);
+       return hda_dsp_hdmi_build_controls(card, component);
 }