mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
ASoC: soc-dai: add snd_soc_pcm_dai_new()
We have 2 type of component functions snd_soc_dai_xxx() is focusing to dai itself, snd_soc_pcm_dai_xxx() is focusing to rtd related dai. Now we can update soc_dai_pcm_new() to snd_soc_pcm_dai_new(). This patch do it. 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/87y2qlssk7.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
479914ed77
commit
0b73ba550c
@@ -170,6 +170,8 @@ int snd_soc_dai_compress_new(struct snd_soc_dai *dai,
|
|||||||
struct snd_soc_pcm_runtime *rtd, int num);
|
struct snd_soc_pcm_runtime *rtd, int num);
|
||||||
bool snd_soc_dai_stream_valid(struct snd_soc_dai *dai, int stream);
|
bool snd_soc_dai_stream_valid(struct snd_soc_dai *dai, int stream);
|
||||||
|
|
||||||
|
int snd_soc_pcm_dai_new(struct snd_soc_pcm_runtime *rtd);
|
||||||
|
|
||||||
struct snd_soc_dai_ops {
|
struct snd_soc_dai_ops {
|
||||||
/*
|
/*
|
||||||
* DAI clocking configuration, all optional.
|
* DAI clocking configuration, all optional.
|
||||||
|
@@ -1036,27 +1036,6 @@ _err_defer:
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(snd_soc_add_pcm_runtime);
|
EXPORT_SYMBOL_GPL(snd_soc_add_pcm_runtime);
|
||||||
|
|
||||||
static int soc_dai_pcm_new(struct snd_soc_pcm_runtime *rtd)
|
|
||||||
{
|
|
||||||
struct snd_soc_dai *dai;
|
|
||||||
int i, ret = 0;
|
|
||||||
|
|
||||||
for_each_rtd_dais(rtd, i, dai) {
|
|
||||||
struct snd_soc_dai_driver *drv = dai->driver;
|
|
||||||
|
|
||||||
if (drv->pcm_new)
|
|
||||||
ret = drv->pcm_new(rtd, dai);
|
|
||||||
if (ret < 0) {
|
|
||||||
dev_err(dai->dev,
|
|
||||||
"ASoC: Failed to bind %s with pcm device\n",
|
|
||||||
dai->name);
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int soc_init_pcm_runtime(struct snd_soc_card *card,
|
static int soc_init_pcm_runtime(struct snd_soc_card *card,
|
||||||
struct snd_soc_pcm_runtime *rtd)
|
struct snd_soc_pcm_runtime *rtd)
|
||||||
{
|
{
|
||||||
@@ -1121,7 +1100,7 @@ static int soc_init_pcm_runtime(struct snd_soc_card *card,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
return soc_dai_pcm_new(rtd);
|
return snd_soc_pcm_dai_new(rtd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void soc_set_name_prefix(struct snd_soc_card *card,
|
static void soc_set_name_prefix(struct snd_soc_card *card,
|
||||||
|
@@ -445,3 +445,19 @@ bool snd_soc_dai_stream_valid(struct snd_soc_dai *dai, int dir)
|
|||||||
/* If the codec specifies any channels at all, it supports the stream */
|
/* If the codec specifies any channels at all, it supports the stream */
|
||||||
return stream->channels_min;
|
return stream->channels_min;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int snd_soc_pcm_dai_new(struct snd_soc_pcm_runtime *rtd)
|
||||||
|
{
|
||||||
|
struct snd_soc_dai *dai;
|
||||||
|
int i, ret = 0;
|
||||||
|
|
||||||
|
for_each_rtd_dais(rtd, i, dai) {
|
||||||
|
if (dai->driver->pcm_new) {
|
||||||
|
ret = dai->driver->pcm_new(rtd, dai);
|
||||||
|
if (ret < 0)
|
||||||
|
return soc_dai_ret(dai, ret);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user