ASoC: SDCA: Use named control mux for GE/SU controls

Most of the time a GE Entity will control many SU Entities and thus the
generated control will use the control name, since the control is
shared. However, in rare cases the GE Entity will only control a single
SU Entity. In this case the control is only linked to a single SU widget
and will thus inherit the name from that. This leads to the naming for
the Selected Mode control to be unpredictable. Update to use the new
named control muxes to always force the use of the control name.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20260303155308.138989-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Charles Keepax 2026-03-03 15:53:08 +00:00 committed by Mark Brown
parent e29d097ead
commit b6a6cd3f6b
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0

View File

@ -455,7 +455,7 @@ static int entity_parse_su_device(struct device *dev,
if (!range)
return -EINVAL;
(*widget)->id = snd_soc_dapm_mux;
(*widget)->id = snd_soc_dapm_mux_named_ctl;
(*widget)->kcontrol_news = entity->group->ge.kctl;
(*widget)->num_kcontrols = 1;
(*widget)++;