[alsa-devel] Question about soc_bind_dai_link()

Kuninori Morimoto kuninori.morimoto.gx at renesas.com
Tue Aug 1 08:47:49 CEST 2017


Hi ALSA ML

I noticed a little bit strange operation on soc_bind_dai_link().
To research platform, it is using list_for_each_entry().
After finding platform, it sets rtd->platform, but it doesn't use "break".
This means, rtd->platform might be overwrote.
Is this on purpose ? or bug ?

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;
	}
	...	
}


Best regards
---
Kuninori Morimoto


More information about the Alsa-devel mailing list