mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
ALSA: usb-audio: Add insertion control for UAC3 BADD
The HEADSET ADAPTER profile for BADD devices is meant to support Insertion Control for the Input and Output Terminals of the headset. This patch defines the BADD inferred input and output terminals and builds the connector controls. Signed-off-by: Jorge Sanjuan <jorge.sanjuan@codethink.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
167e1fb121
commit
3528cd8f6a
@ -2918,6 +2918,23 @@ static int snd_usb_mixer_controls_badd(struct usb_mixer_interface *mixer,
|
||||
UAC3_BADD_FU_ID7, map->map);
|
||||
}
|
||||
|
||||
/* Insertion Control */
|
||||
if (f->subclass == UAC3_FUNCTION_SUBCLASS_HEADSET_ADAPTER) {
|
||||
struct usb_audio_term iterm, oterm;
|
||||
|
||||
/* Input Term - Insertion control */
|
||||
memset(&iterm, 0, sizeof(iterm));
|
||||
iterm.id = UAC3_BADD_IT_ID4;
|
||||
iterm.type = UAC_BIDIR_TERMINAL_HEADSET;
|
||||
build_connector_control(mixer, &iterm, true);
|
||||
|
||||
/* Output Term - Insertion control */
|
||||
memset(&oterm, 0, sizeof(oterm));
|
||||
oterm.id = UAC3_BADD_OT_ID3;
|
||||
oterm.type = UAC_BIDIR_TERMINAL_HEADSET;
|
||||
build_connector_control(mixer, &oterm, false);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user