OSDN Git Service

ASoC: soc-pcm: use dpcm_get_be() at dpcm_end_walk_at_be()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 17 Feb 2020 08:27:53 +0000 (17:27 +0900)
committerMark Brown <broonie@kernel.org>
Tue, 18 Feb 2020 23:37:00 +0000 (23:37 +0000)
dpcm_end_walk_at_be() and dpcm_get_be() are almost same code.
This patch uses dpcm_get_be() from dpcm_end_walk_at_be().

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/87d0adbouh.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-pcm.c

index 7d4419a..1d48be2 100644 (file)
@@ -1297,10 +1297,7 @@ static bool dpcm_end_walk_at_be(struct snd_soc_dapm_widget *widget,
 {
        struct snd_soc_card *card = widget->dapm->card;
        struct snd_soc_pcm_runtime *rtd;
-       struct snd_soc_dapm_widget *w;
-       struct snd_soc_dai *dai;
        int stream;
-       int i;
 
        /* adjust dir to stream */
        if (dir == SND_SOC_DAPM_DIR_OUT)
@@ -1308,20 +1305,9 @@ static bool dpcm_end_walk_at_be(struct snd_soc_dapm_widget *widget,
        else
                stream = SNDRV_PCM_STREAM_CAPTURE;
 
-       for_each_card_rtds(card, rtd) {
-               if (!rtd->dai_link->no_pcm)
-                       continue;
-
-               w = dai_get_widget(rtd->cpu_dai, stream);
-               if (w == widget)
-                       return true;
-
-               for_each_rtd_codec_dai(rtd, i, dai) {
-                       w = dai_get_widget(dai, stream);
-                       if (w == widget)
-                               return true;
-               }
-       }
+       rtd = dpcm_get_be(card, widget, stream);
+       if (rtd)
+               return true;
 
        return false;
 }