Re: Question about soc_bind_dai_link()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Ma, 2017-08-01 at 06:47 +0000, Kuninori Morimoto wrote:
> 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;
> 

This isn't actually a bug because you reach here only if the
given platform is found.

Anyhow, in the past the used to be a goto here. Things have changed with

commit b19e6e7b763c7144bfe2ceccf988b64d66d6dd0a
Author: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date:   Wed Mar 14 21:18:39 2012 +0000

    ASoC: core: Use driver core probe deferral

thanks,
Daniel.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel




[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux