|
@@ -2074,6 +2074,120 @@ YAMAHA_DEVICE(0x7010, "UB99"),
|
|
|
}
|
|
|
},
|
|
|
|
|
|
+/* Hauppauge HVR-950Q and HVR-850 */
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7200),
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
|
+ .bInterfaceClass = USB_CLASS_AUDIO,
|
|
|
+ .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Hauppauge",
|
|
|
+ .product_name = "HVR-950Q",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
+ }
|
|
|
+},
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7201),
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
|
+ .bInterfaceClass = USB_CLASS_AUDIO,
|
|
|
+ .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Hauppauge",
|
|
|
+ .product_name = "HVR-950Q",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
+ }
|
|
|
+},
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7202),
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
|
+ .bInterfaceClass = USB_CLASS_AUDIO,
|
|
|
+ .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Hauppauge",
|
|
|
+ .product_name = "HVR-950Q",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
+ }
|
|
|
+},
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7203),
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
|
+ .bInterfaceClass = USB_CLASS_AUDIO,
|
|
|
+ .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Hauppauge",
|
|
|
+ .product_name = "HVR-950Q",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
+ }
|
|
|
+},
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7204),
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
|
+ .bInterfaceClass = USB_CLASS_AUDIO,
|
|
|
+ .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Hauppauge",
|
|
|
+ .product_name = "HVR-950Q",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
+ }
|
|
|
+},
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7205),
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
|
+ .bInterfaceClass = USB_CLASS_AUDIO,
|
|
|
+ .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Hauppauge",
|
|
|
+ .product_name = "HVR-950Q",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
+ }
|
|
|
+},
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7250),
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
|
+ .bInterfaceClass = USB_CLASS_AUDIO,
|
|
|
+ .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Hauppauge",
|
|
|
+ .product_name = "HVR-950Q",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
+ }
|
|
|
+},
|
|
|
+{
|
|
|
+ USB_DEVICE_VENDOR_SPEC(0x2040, 0x7230),
|
|
|
+ .match_flags = USB_DEVICE_ID_MATCH_DEVICE |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_CLASS |
|
|
|
+ USB_DEVICE_ID_MATCH_INT_SUBCLASS,
|
|
|
+ .bInterfaceClass = USB_CLASS_AUDIO,
|
|
|
+ .bInterfaceSubClass = USB_SUBCLASS_AUDIO_CONTROL,
|
|
|
+ .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) {
|
|
|
+ .vendor_name = "Hauppauge",
|
|
|
+ .product_name = "HVR-850",
|
|
|
+ .ifnum = QUIRK_ANY_INTERFACE,
|
|
|
+ .type = QUIRK_AUDIO_ALIGN_TRANSFER,
|
|
|
+ }
|
|
|
+},
|
|
|
+
|
|
|
{
|
|
|
/*
|
|
|
* Some USB MIDI devices don't have an audio control interface,
|