snd_soc_dapm_input = 0, /* input pin */
snd_soc_dapm_output, /* output pin */
snd_soc_dapm_mux, /* selects 1 analog signal from many inputs */
+ snd_soc_dapm_mux_named_ctl, /* mux with named controls */
snd_soc_dapm_demux, /* connects the input to one of multiple outputs */
snd_soc_dapm_mixer, /* mixes several analog signals together */
snd_soc_dapm_mixer_named_ctl, /* mixer with named controls */
[snd_soc_dapm_input] = 6,
[snd_soc_dapm_output] = 6,
[snd_soc_dapm_mux] = 7,
+ [snd_soc_dapm_mux_named_ctl] = 7,
[snd_soc_dapm_demux] = 7,
[snd_soc_dapm_dac] = 8,
[snd_soc_dapm_switch] = 9,
[snd_soc_dapm_micbias] = 10,
[snd_soc_dapm_vmid] = 10,
[snd_soc_dapm_mux] = 11,
+ [snd_soc_dapm_mux_named_ctl] = 11,
[snd_soc_dapm_demux] = 11,
[snd_soc_dapm_aif_in] = 12,
[snd_soc_dapm_aif_out] = 12,
switch (sink->id) {
case snd_soc_dapm_mux:
+ case snd_soc_dapm_mux_named_ctl:
case snd_soc_dapm_switch:
case snd_soc_dapm_mixer:
case snd_soc_dapm_mixer_named_ctl:
switch (wsink->id) {
case snd_soc_dapm_mux:
+ case snd_soc_dapm_mux_named_ctl:
ret = dapm_connect_mux(dapm, path, control, wsink);
if (ret != 0)
goto err;
break;
case snd_soc_dapm_demux:
case snd_soc_dapm_mux:
+ case snd_soc_dapm_mux_named_ctl:
e = (struct soc_enum *)kcontrol->private_value;
if (e->autodisable) {
break;
case snd_soc_dapm_demux:
case snd_soc_dapm_mux:
+ case snd_soc_dapm_mux_named_ctl:
data->widget->on_val = value >> data->widget->shift;
break;
default:
wname_in_long_name = true;
kcname_in_long_name = true;
break;
+ case snd_soc_dapm_mux_named_ctl:
case snd_soc_dapm_mixer_named_ctl:
wname_in_long_name = false;
kcname_in_long_name = true;
switch (w->id) {
case snd_soc_dapm_mux:
+ case snd_soc_dapm_mux_named_ctl:
dir = SND_SOC_DAPM_DIR_OUT;
type = "mux";
break;
[snd_soc_dapm_input] = "input",
[snd_soc_dapm_output] = "output",
[snd_soc_dapm_mux] = "mux",
+ [snd_soc_dapm_mux_named_ctl] = "mux_named_ctl",
[snd_soc_dapm_demux] = "demux",
[snd_soc_dapm_mixer] = "mixer",
[snd_soc_dapm_mixer_named_ctl] = "mixer_named_ctl",
dapm_new_mixer(w);
break;
case snd_soc_dapm_mux:
+ case snd_soc_dapm_mux_named_ctl:
case snd_soc_dapm_demux:
dapm_new_mux(w);
break;
break;
case snd_soc_dapm_mux:
+ case snd_soc_dapm_mux_named_ctl:
case snd_soc_dapm_demux:
case snd_soc_dapm_switch:
case snd_soc_dapm_mixer: