ALSA: usb-audio: Create a registration quirk for Kingston HyperX Amp (0951:16d8)

Create a quirk that allows special processing and/or
skipping the call to snd_card_register.

For HyperX AMP, which uses two interfaces, but only has
a capture stream in the second, this allows the capture
stream to merge with the first PCM.

Signed-off-by: Chris Wulff <crwulff@gmail.com>
Link: https://lore.kernel.org/r/20200314165449.4086-3-crwulff@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Chris Wulff
2020-03-14 12:54:49 -04:00
committed by Takashi Iwai
父節點 0aef31b752
當前提交 55f7326170
共有 3 個文件被更改,包括 25 次插入4 次删除

查看文件

@@ -662,10 +662,14 @@ static int usb_audio_probe(struct usb_interface *intf,
goto __error;
}
/* we are allowed to call snd_card_register() many times */
err = snd_card_register(chip->card);
if (err < 0)
goto __error;
/* we are allowed to call snd_card_register() many times, but first
* check to see if a device needs to skip it or do anything special
*/
if (snd_usb_registration_quirk(chip, ifnum) == 0) {
err = snd_card_register(chip->card);
if (err < 0)
goto __error;
}
if (quirk && quirk->shares_media_device) {
/* don't want to fail when snd_media_device_create() fails */