ASoC: SOF: topology: remove useless code
authorRanjani Sridharan <ranjani.sridharan@linux.intel.com>
Fri, 9 Apr 2021 22:05:22 +0000 (15:05 -0700)
committerMark Brown <broonie@kernel.org>
Mon, 12 Apr 2021 16:06:45 +0000 (17:06 +0100)
The patch "ASoC: SOF: Intel: hda: assign link DMA channel at run-time"
fixed the sof_link_hda_unload() to remove the call to the BE
hw_free op but left the rest of code that become redundant.

So, remove sof_link_hda_unload() along with the link_unload() op
entirely as it is not longer needed.

Reported-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20210409220522.1542865-1-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/topology.c

index 036202768b755ac3f1398940ca5503fffbbe8983..59abcfc9bd5584de6ae00957e42669764e0c905b 100644 (file)
@@ -3371,69 +3371,6 @@ static int sof_link_load(struct snd_soc_component *scomp, int index,
        return ret;
 }
 
-static int sof_link_hda_unload(struct snd_sof_dev *sdev,
-                              struct snd_soc_dai_link *link)
-{
-       struct snd_soc_dai *dai;
-
-       dai = snd_soc_find_dai(link->cpus);
-       if (!dai) {
-               dev_err(sdev->dev, "error: failed to find dai %s in %s",
-                       link->cpus->dai_name, __func__);
-               return -EINVAL;
-       }
-
-       return 0;
-}
-
-static int sof_link_unload(struct snd_soc_component *scomp,
-                          struct snd_soc_dobj *dobj)
-{
-       struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp);
-       struct snd_soc_dai_link *link =
-               container_of(dobj, struct snd_soc_dai_link, dobj);
-
-       struct snd_sof_dai *sof_dai;
-       int ret = 0;
-
-       /* only BE link is loaded by sof */
-       if (!link->no_pcm)
-               return 0;
-
-       list_for_each_entry(sof_dai, &sdev->dai_list, list) {
-               if (!sof_dai->name)
-                       continue;
-
-               if (strcmp(link->name, sof_dai->name) == 0)
-                       goto found;
-       }
-
-       dev_err(scomp->dev, "error: failed to find dai %s in %s",
-               link->name, __func__);
-       return -EINVAL;
-found:
-
-       switch (sof_dai->dai_config->type) {
-       case SOF_DAI_INTEL_SSP:
-       case SOF_DAI_INTEL_DMIC:
-       case SOF_DAI_INTEL_ALH:
-       case SOF_DAI_IMX_SAI:
-       case SOF_DAI_IMX_ESAI:
-               /* no resource needs to be released for all cases above */
-               break;
-       case SOF_DAI_INTEL_HDA:
-               ret = sof_link_hda_unload(sdev, link);
-               break;
-       default:
-               dev_err(scomp->dev, "error: invalid DAI type %d\n",
-                       sof_dai->dai_config->type);
-               ret = -EINVAL;
-               break;
-       }
-
-       return ret;
-}
-
 /* DAI link - used for any driver specific init */
 static int sof_route_load(struct snd_soc_component *scomp, int index,
                          struct snd_soc_dapm_route *route)
@@ -3734,7 +3671,6 @@ static struct snd_soc_tplg_ops sof_tplg_ops = {
 
        /* DAI link - used for any driver specific init */
        .link_load      = sof_link_load,
-       .link_unload    = sof_link_unload,
 
        /* completion - called at completion of firmware loading */
        .complete       = sof_complete,