On Tue, 2020-05-19 at 10:02 +0900, Kuninori Morimoto wrote:
From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
dai_link related function should be implemented at soc-link.c. This patch adds snd_soc_link_compr_startup().
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
include/sound/soc-link.h | 3 +++ sound/soc/soc-compress.c | 23 ++++++----------------- sound/soc/soc-link.c | 13 +++++++++++++ 3 files changed, 22 insertions(+), 17 deletions(-)
diff --git a/include/sound/soc-link.h b/include/sound/soc-link.h index aae72f668de6..c152576cbd87 100644 --- a/include/sound/soc-link.h +++ b/include/sound/soc-link.h @@ -20,4 +20,7 @@ int snd_soc_link_hw_params(struct snd_pcm_substream *substream, void snd_soc_link_hw_free(struct snd_pcm_substream *substream); int snd_soc_link_trigger(struct snd_pcm_substream *substream, int cmd);
+int snd_soc_link_compr_startup(struct snd_soc_pcm_runtime *rtd,
struct snd_compr_stream *cstream);
#endif /* __SOC_LINK_H */ diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c index 62ece729e425..35b0af86325a 100644 --- a/sound/soc/soc-compress.c +++ b/sound/soc/soc-compress.c @@ -95,15 +95,9 @@ static int soc_compr_open(struct snd_compr_stream *cstream) if (ret < 0) goto machine_err;
- if (rtd->dai_link->compr_ops && rtd->dai_link->compr_ops-
startup) {
ret = rtd->dai_link->compr_ops->startup(cstream);
if (ret < 0) {
dev_err(rtd->dev,
"Compress ASoC: %s startup failed:
%d\n",
rtd->dai_link->name, ret);
goto machine_err;
}
- }
ret = snd_soc_link_compr_startup(rtd, cstream);
if (ret < 0)
goto machine_err;
snd_soc_runtime_activate(rtd, cstream->direction);
@@ -179,14 +173,9 @@ static int soc_compr_open_fe(struct snd_compr_stream *cstream) if (ret < 0) goto open_err;
- if (fe->dai_link->compr_ops && fe->dai_link->compr_ops-
startup) {
ret = fe->dai_link->compr_ops->startup(cstream);
if (ret < 0) {
pr_err("Compress ASoC: %s startup failed:
%d\n",
fe->dai_link->name, ret);
goto machine_err;
}
- }
ret = snd_soc_link_compr_startup(fe, cstream);
if (ret < 0)
goto machine_err;
dpcm_clear_pending_state(fe, stream); dpcm_path_put(&list);
diff --git a/sound/soc/soc-link.c b/sound/soc/soc-link.c index a735b3ba2385..dddc4a35a0ac 100644 --- a/sound/soc/soc-link.c +++ b/sound/soc/soc-link.c @@ -112,3 +112,16 @@ int snd_soc_link_trigger(struct snd_pcm_substream *substream, int cmd)
return soc_link_ret(rtd, ret); }
+int snd_soc_link_compr_startup(struct snd_soc_pcm_runtime *rtd,
struct snd_compr_stream *cstream)
Can we do the same think as for pcm substream and remove the rtd param?
Thanks, Ranjani