ASoC: soc-pcm.c: tidyup playback/capture_only at soc_get_playback_capture()
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Tue, 30 May 2023 00:50:08 +0000 (00:50 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 31 May 2023 11:25:06 +0000 (12:25 +0100)
soc_get_playback_capture() (A) returns number of substreams for
playback/capture, and then, we can use playback/capture_only flag (X)(Y).

(A)     static int soc_get_playback_capture(...)
{
...
(X) if (dai_link->playback_only) {
(*) *playback = 1;
*capture = 0;
}

(Y) if (dai_link->capture_only) {
*playback = 0;
(*) *capture = 1;
}
...
}

But this flag should not have effect to opposite side stream (*).
This patch tidyup it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Reviewed-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/87sfbezlq8.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/soc-pcm.c

index 765e43ca637d523d5245644f965a9b1c9fab2a4e..fc0817dd0d8335dfb9f6555710cebbf227409c3b 100644 (file)
@@ -2806,15 +2806,11 @@ static int soc_get_playback_capture(struct snd_soc_pcm_runtime *rtd,
                }
        }
 
-       if (dai_link->playback_only) {
-               has_playback = 1;
+       if (dai_link->playback_only)
                has_capture = 0;
-       }
 
-       if (dai_link->capture_only) {
+       if (dai_link->capture_only)
                has_playback = 0;
-               has_capture = 1;
-       }
 
        if (!has_playback && !has_capture) {
                dev_err(rtd->dev, "substream %s has no playback, no capture\n",