|
@@ -93,6 +93,9 @@
|
|
|
#define SND_SOC_DAPM_MUX(wname, wreg, wshift, winvert, wcontrols) \
|
|
|
{ .id = snd_soc_dapm_mux, .name = wname, .reg = wreg, .shift = wshift, \
|
|
|
.invert = winvert, .kcontrols = wcontrols, .num_kcontrols = 1}
|
|
|
+#define SND_SOC_DAPM_VIRT_MUX(wname, wreg, wshift, winvert, wcontrols) \
|
|
|
+{ .id = snd_soc_dapm_virt_mux, .name = wname, .reg = wreg, .shift = wshift, \
|
|
|
+ .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = 1}
|
|
|
#define SND_SOC_DAPM_VALUE_MUX(wname, wreg, wshift, winvert, wcontrols) \
|
|
|
{ .id = snd_soc_dapm_value_mux, .name = wname, .reg = wreg, \
|
|
|
.shift = wshift, .invert = winvert, .kcontrols = wcontrols, \
|
|
@@ -148,6 +151,11 @@
|
|
|
{ .id = snd_soc_dapm_mux, .name = wname, .reg = wreg, .shift = wshift, \
|
|
|
.invert = winvert, .kcontrols = wcontrols, .num_kcontrols = 1, \
|
|
|
.event = wevent, .event_flags = wflags}
|
|
|
+#define SND_SOC_DAPM_VIRT_MUX_E(wname, wreg, wshift, winvert, wcontrols, \
|
|
|
+ wevent, wflags) \
|
|
|
+{ .id = snd_soc_dapm_virt_mux, .name = wname, .reg = wreg, .shift = wshift, \
|
|
|
+ .invert = winvert, .kcontrols = wcontrols, .num_kcontrols = 1, \
|
|
|
+ .event = wevent, .event_flags = wflags}
|
|
|
|
|
|
/* Simplified versions of above macros, assuming wncontrols = ARRAY_SIZE(wcontrols) */
|
|
|
#define SOC_PGA_E_ARRAY(wname, wreg, wshift, winvert, wcontrols, \
|
|
@@ -357,6 +365,7 @@ enum snd_soc_dapm_type {
|
|
|
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_virt_mux, /* virtual version of snd_soc_dapm_mux */
|
|
|
snd_soc_dapm_value_mux, /* selects 1 analog signal from many inputs */
|
|
|
snd_soc_dapm_mixer, /* mixes several analog signals together */
|
|
|
snd_soc_dapm_mixer_named_ctl, /* mixer with named controls */
|