Hi Daniel > > > > static int soc_bind_dai_link(struct snd_soc_card *card, > > > > struct snd_soc_dai_link *dai_link) > > > > { > > > > ... > > > > /* find one from the set of registered platforms */ > > > > list_for_each_entry(platform, &platform_list, list) { > > > > platform_of_node = platform->dev->of_node; > > > > if (!platform_of_node && platform->dev->parent->of_node) > > > > platform_of_node = platform->dev->parent->of_node; > > > > > > > > if (dai_link->platform_of_node) { > > > > if (platform_of_node != dai_link->platform_of_node) > > > > continue; > > > > } else { > > > > if (strcmp(platform->component.name, platform_name)) > > > > continue; > > > > } > > > > > > > > => rtd->platform = platform; > > > > > > > This isn't actually a bug because you reach here only if the > > > given platform is found. > > Thanks. Yes, any cases it is not a big deal. > > In my cases it reaches here only once, because my system > > registers 1 platform only. > > I don't know detail, but some board is registering 2 platforms > > (own platform and dmaengine ?) > > In such case, rtd->platform was overwrote ? > > No, because we only do the assignment rtd->platform = platform if > > platform_of_node == dai_link->platform_of_node OR platform->name == platform_name. > > In case we are registering 2 platforms (like you said: own platform and dmaengine) > they will be having different names/of_nodes. I can't find concrete driver now, but I found the driver which "own platform" and "dmaengine platform" are using same "dev". Because of this, I confused about this. Best regards --- Kuninori Morimoto _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel