Hi Amadeusz Thank you for your feedback > > --- a/include/sound/soc.h > > +++ b/include/sound/soc.h > > @@ -938,7 +938,7 @@ snd_soc_link_to_platform(struct snd_soc_dai_link *link, int n) { > > #define COMP_PLATFORM(_name) { .name = _name } > > #define COMP_AUX(_name) { .name = _name } > > #define COMP_CODEC_CONF(_name) { .name = _name } > > -#define COMP_DUMMY() { .name = "snd-soc-dummy", .dai_name = "snd-soc-dummy-dai", } > > +#define COMP_DUMMY() /* see snd_soc_fill_dummy_dai() */ > > Isn't it effectively making COMP_DUMMY same as COMP_EMPTY, or am I not > seeing something? I guess next step could be to just remove all > COMP_DUMMY and replace them with COMP_EMPTY to avoid two definitions > which are same thing? It is a little bit macro magic COMP_EMPTY() static struct snd_soc_dai_link_component name[] = {{ }}, ^^^ COMP_DUMMY() static struct snd_soc_dai_link_component name[] = { }, ^^^ EMPTY case will be 1 element array, DUMMY case will be 0 element array. So, EMPTY case has empty element, and is not a special/strange array. But DUMMY case, it has pointer but 0 size array, very special/strange. This patch making this special/strange array on purpose, and convert it to asoc_dummy_dlc() on soc-core.c Is this good answer for you ? > > + if (dai_link->num_platforms == 0 && dai_link->platforms) { > > + dev_warn(card->dev, "platform don't need dummy Component/DAI\n"); > > I would just replace above print with code comment, no need to spam dmesg. OK, will fix in v2 Thank you for your help !! Best regards --- Renesas Electronics Ph.D. Kuninori Morimoto