Hi Morimoto-san, I'm really confused on what exactly is Front End and Back End. Is FE a DAI or a DAI link or part of a DAI link? In simple-card.c there is simple_dai_link_of_dpcm function: struct snd_soc_dai_link_component *codecs = dai_link->codecs; » /* BE is dummy */ » » codecs->of_node»» = NULL; » » codecs->dai_name» = "snd-soc-dummy-dai"; » » codecs->name» » = "snd-soc-dummy"; » » /* FE settings */ » » dai_link->dynamic» » = 1; » » dai_link->dpcm_merged_format» = 1; So, from here it looks like BE/FE are components being part of the same link. Another thing is: asoc_simple_canonicalize_platform function where it does say: » * DPCM BE can be no platform. » * Alloced memory will be waste, but not leak. » */ » if (!dai_link->platforms->of_node) » » dai_link->num_platforms = 0; But I do want to create a BE with a platform. So, should I try to revert the following patch: commit 794fcee8da3c0c8a01b08ecad1c181cb0a622868 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Jul 10 17:01:12 2019 +0900 ASoC: simple-card-utils: care no Platform for DPCM commit 34614739988ad ("ASoC: soc-core: support dai_link with platforms_num != 1") supports multi Platform, and commit 9f3eb91753451 ("ASoC: simple-card-utils: consider CPU-Platform possibility") removed no Platform from simple-card. Multi Platform is now checking both Platform name/of_node are NULL case. But in normal case, DPCM be doesn't have Platform. Basically, what I want to do is: after the DAI link is created to call: snd_soc_fixup_dai_links_platform_name function to set a proper name for BE platform. The problem is that above mentioned patch sets dai_link->num_platforms = 0; so even the name is set the platform component is not probed. thanks, Daniel. _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel