The "prefix" can be defined in DAI link node or it can be specified as part of the component node itself. Currently "sound-name-prefix" defined in a component is not taking effect. Actually the property is not getting parsed. It can be fixed by parsing "sound-name-prefix" property whenever "prefix" is missing in DAI link Codec node.
[...]
--- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -1124,7 +1124,8 @@ static void soc_set_name_prefix(struct snd_soc_card *card, for (i = 0; i < card->num_configs; i++) { struct snd_soc_codec_conf *map = &card->codec_conf[i];
if (snd_soc_is_matching_component(&map->dlc, component)) {
if (snd_soc_is_matching_component(&map->dlc, component) &&
map->name_prefix) { component->name_prefix = map->name_prefix; return; }
Hi,
It is not obvious how the patch fixes the problem described. I guess now map->name_prefix is NULL on some level and overrides prefix found earlier?
Best Regards, Michał Mirosław
If map->name_prefix is NULL (which is the prefix defined for Codec DAI component in a DAI link), then go ahead and check if "sound-name-prefix" is provided under component device node itself.