ASoC: soc-component: merge soc_pcm_trigger_start/stop()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Thu, 4 Jun 2020 08:08:12 +0000 (17:08 +0900)
committerMark Brown <broonie@kernel.org>
Mon, 15 Jun 2020 17:21:27 +0000 (18:21 +0100)
Now, soc_pcm_trigger_start/stop() are simple enough.
Let's merge these into soc_pcm_trigger().

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

index be5c83f..9be6c28 100644 (file)
@@ -1072,57 +1072,37 @@ static int soc_pcm_hw_free(struct snd_pcm_substream *substream)
        return 0;
 }
 
-static int soc_pcm_trigger_start(struct snd_pcm_substream *substream, int cmd)
-{
-       int ret;
-
-       ret = snd_soc_link_trigger(substream, cmd);
-       if (ret < 0)
-               return ret;
-
-       ret = snd_soc_pcm_component_trigger(substream, cmd);
-       if (ret < 0)
-               return ret;
-
-       return snd_soc_pcm_dai_trigger(substream, cmd);
-}
-
-static int soc_pcm_trigger_stop(struct snd_pcm_substream *substream, int cmd)
-{
-       int ret;
-
-       ret = snd_soc_pcm_dai_trigger(substream, cmd);
-       if (ret < 0)
-               return ret;
-
-       ret = snd_soc_pcm_component_trigger(substream, cmd);
-       if (ret < 0)
-               return ret;
-
-       ret = snd_soc_link_trigger(substream, cmd);
-       if (ret < 0)
-               return ret;
-
-       return 0;
-}
-
 static int soc_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
 {
-       int ret;
+       int ret = -EINVAL;
 
        switch (cmd) {
        case SNDRV_PCM_TRIGGER_START:
        case SNDRV_PCM_TRIGGER_RESUME:
        case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
-               ret = soc_pcm_trigger_start(substream, cmd);
+               ret = snd_soc_link_trigger(substream, cmd);
+               if (ret < 0)
+                       break;
+
+               ret = snd_soc_pcm_component_trigger(substream, cmd);
+               if (ret < 0)
+                       break;
+
+               ret = snd_soc_pcm_dai_trigger(substream, cmd);
                break;
        case SNDRV_PCM_TRIGGER_STOP:
        case SNDRV_PCM_TRIGGER_SUSPEND:
        case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
-               ret = soc_pcm_trigger_stop(substream, cmd);
+               ret = snd_soc_pcm_dai_trigger(substream, cmd);
+               if (ret < 0)
+                       break;
+
+               ret = snd_soc_pcm_component_trigger(substream, cmd);
+               if (ret < 0)
+                       break;
+
+               ret = snd_soc_link_trigger(substream, cmd);
                break;
-       default:
-               return -EINVAL;
        }
 
        return ret;