ASoC: soc-topology: use modern dai_link style
ASoC is now supporting modern style dai_link (= snd_soc_dai_link_component) for CPU/Codec/Platform. This patch switches to use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
f60adf3851
Коммит
23b946ce28
|
@ -560,7 +560,7 @@ static void remove_link(struct snd_soc_component *comp,
|
||||||
|
|
||||||
kfree(link->name);
|
kfree(link->name);
|
||||||
kfree(link->stream_name);
|
kfree(link->stream_name);
|
||||||
kfree(link->cpu_dai_name);
|
kfree(link->cpus->dai_name);
|
||||||
|
|
||||||
list_del(&dobj->list);
|
list_del(&dobj->list);
|
||||||
snd_soc_remove_dai_link(comp->card, link);
|
snd_soc_remove_dai_link(comp->card, link);
|
||||||
|
@ -1879,12 +1879,22 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
|
||||||
struct snd_soc_tplg_pcm *pcm)
|
struct snd_soc_tplg_pcm *pcm)
|
||||||
{
|
{
|
||||||
struct snd_soc_dai_link *link;
|
struct snd_soc_dai_link *link;
|
||||||
|
struct snd_soc_dai_link_component *dlc;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
link = kzalloc(sizeof(struct snd_soc_dai_link), GFP_KERNEL);
|
/* link + cpu + codec */
|
||||||
|
link = kzalloc(sizeof(*link) + (2 * sizeof(*dlc)), GFP_KERNEL);
|
||||||
if (link == NULL)
|
if (link == NULL)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
dlc = (struct snd_soc_dai_link_component *)(link + 1);
|
||||||
|
|
||||||
|
link->cpus = &dlc[0];
|
||||||
|
link->codecs = &dlc[1];
|
||||||
|
|
||||||
|
link->num_cpus = 1;
|
||||||
|
link->num_codecs = 1;
|
||||||
|
|
||||||
if (strlen(pcm->pcm_name)) {
|
if (strlen(pcm->pcm_name)) {
|
||||||
link->name = kstrdup(pcm->pcm_name, GFP_KERNEL);
|
link->name = kstrdup(pcm->pcm_name, GFP_KERNEL);
|
||||||
link->stream_name = kstrdup(pcm->pcm_name, GFP_KERNEL);
|
link->stream_name = kstrdup(pcm->pcm_name, GFP_KERNEL);
|
||||||
|
@ -1892,10 +1902,10 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
|
||||||
link->id = le32_to_cpu(pcm->pcm_id);
|
link->id = le32_to_cpu(pcm->pcm_id);
|
||||||
|
|
||||||
if (strlen(pcm->dai_name))
|
if (strlen(pcm->dai_name))
|
||||||
link->cpu_dai_name = kstrdup(pcm->dai_name, GFP_KERNEL);
|
link->cpus->dai_name = kstrdup(pcm->dai_name, GFP_KERNEL);
|
||||||
|
|
||||||
link->codec_name = "snd-soc-dummy";
|
link->codecs->name = "snd-soc-dummy";
|
||||||
link->codec_dai_name = "snd-soc-dummy-dai";
|
link->codecs->dai_name = "snd-soc-dummy-dai";
|
||||||
|
|
||||||
/* enable DPCM */
|
/* enable DPCM */
|
||||||
link->dynamic = 1;
|
link->dynamic = 1;
|
||||||
|
@ -1912,7 +1922,7 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
|
||||||
dev_err(tplg->comp->dev, "ASoC: FE link loading failed\n");
|
dev_err(tplg->comp->dev, "ASoC: FE link loading failed\n");
|
||||||
kfree(link->name);
|
kfree(link->name);
|
||||||
kfree(link->stream_name);
|
kfree(link->stream_name);
|
||||||
kfree(link->cpu_dai_name);
|
kfree(link->cpus->dai_name);
|
||||||
kfree(link);
|
kfree(link);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче