On Wed, 22 May 2019 10:30:51 +0200, Kuninori Morimoto wrote: > > > Hi ALSA ML > > Do you know why snd_soc_aux_dev has both name and codec_name ?? > > struct snd_soc_aux_dev { > => const char *name; /* Codec name */ > ... > => const char *codec_name; > ... > }; > > For example, samsung's speyside.c has both name and codec_name > > static struct snd_soc_aux_dev speyside_aux_dev[] = { > { > => .name = "wm9081", > => .codec_name = "wm9081.1-006c", > ... > }, > }; > > In my research, there is no driver which is using .name only. > All drivers are having codec_of_node, or .codec_name > > Now, in the soc_bind_aux_dev(), it checks .codec_name or codec_of_node first. > This means, there is zero chance to use .name ? > > static int soc_bind_aux_dev(struct snd_soc_card *card, int num) > { > ... > => if (aux_dev->codec_of_node || aux_dev->codec_name) { > ... > component = soc_find_component(...); > ... > => } else if (aux_dev->name) { > ... > component = soc_find_component(...); > ... > } > ... > } > > Why .name is needed ?? AFAIK, the binding with aux_dev->name was introduced later as a fallback in case of no codec. Through a quick glance at git log, the commit f2ed6b07645e brought the behavior. Other than that, the field was used merely for some label, e.g. passed to snd_soc_post_component_init(). Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel