Update Auvitek au0828 quirks
Subsystems (2)
cover Update Auvitek au0828 quirks
There are several Auvitek au0828 listed at sound quirks. However, the table there is incomplete. Simplify the table using a macro for au0828 devices and update it to reflect the devices currently supported at the Linux Kernel by drivers/media/usb/au0828 driver.
Mauro Carvalho Chehab (2):
[media] sound: simplify au0828 quirk table
[media] sound: Update au0828 quirks table
sound/usb/quirks-table.h | 166 +++++++++++------------------------------------ 1 file changed, 39 insertions(+), 127 deletions(-)
Signature · 1 line
1.9.3
PATCH 1/2 sound: simplify au0828 quirk table
From: Mauro Carvalho Chehab <[email protected]>
Add a macro to simplify au0828 quirk table. That makes easier to check it against the USB IDs at drivers/media/usb/au0828-card.c
sound/usb/quirks-table.h +31 -127
@@ -2804,133 +2804,37 @@ 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_AUDIOCONTROL, - .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, 0x7210), - .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_AUDIOCONTROL, - .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, 0x7217), - .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_AUDIOCONTROL, - .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, 0x721b), - .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_AUDIOCONTROL, - .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, 0x721e), - .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_AUDIOCONTROL, - .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, 0x721f), - .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_AUDIOCONTROL, - .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, 0x7240), - .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_AUDIOCONTROL, - .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 , - } -}, -{ - USB_DEVICE_VENDOR_SPEC(0x2040, 0x7280), - .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_AUDIOCONTROL, - .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(0x0fd9, 0x0008), - .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_AUDIOCONTROL, - .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 , - } -}, +/* +* Auvitek au0828 devices with audio interface. +* This should be kept in sync with drivers/media/usb/au0828-card.c +* Please notice that some drivers are DVB only, and don't need to be +* here. That's the case, for example, of DVICO_FUSIONHDTV7. +*/ + +#define AU0828_DEVICE (vid, pid, vname, pname) { \ + USB_DEVICE_VENDOR_SPEC(vid, pid), \ + .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_AUDIOCONTROL, \ + .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { \ + .vendor_name = vname, \ + .product_name = pname, \ + .ifnum = QUIRK_ANY_INTERFACE, \ + .type = QUIRK_AUDIO_ALIGN_TRANSFER, \ + } \ +} + +AU0828_DEVICE (0x2040 ,0x7200 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7210 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7217 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721b ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721e ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721f ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7240 ,"Hauppauge" ,"HVR-850" ), +AU0828_DEVICE (0x2040 ,0x7280 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE(0x0fd9, 0x0008, "Hauppauge", "HVR-950Q"), /* Digidesign Mbox */ {
Signature · 1 line
1.9.3
Re: [PATCH 1/2] [media] sound: simplify au0828 quirk table
At Thu, 30 Oct 2014 08:53:04 -0200,
Quoted 9 lines · Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <[email protected]>
Add a macro to simplify au0828 quirk table. That makes easier to check it against the USB IDs at
drivers/media/usb/au0828-card.cSigned-off-by Mauro Carvalho Chehab <[email protected]>Signed-off-by Mauro Carvalho Chehab <[email protected]>
Which sign-off should I take? Judging from the author line, the former one? The second patch had only s-o-b from @samsung.com.
thanks,
Takashi
Quoted 173 lines
sound/usb/quirks-table.h +31
-127@@ -2804,133 +2804,37 @@ 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_AUDIOCONTROL, - .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, 0x7210), - .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_AUDIOCONTROL, - .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, 0x7217), - .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_AUDIOCONTROL, - .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, 0x721b), - .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_AUDIOCONTROL, - .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, 0x721e), - .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_AUDIOCONTROL, - .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, 0x721f), - .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_AUDIOCONTROL, - .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, 0x7240), - .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_AUDIOCONTROL, - .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 , - } -}, -{ - USB_DEVICE_VENDOR_SPEC(0x2040, 0x7280), - .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_AUDIOCONTROL, - .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(0x0fd9, 0x0008), - .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_AUDIOCONTROL, - .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 , - } -}, +/* +* Auvitek au0828 devices with audio interface. +* This should be kept in sync with drivers/media/usb/au0828-card.c +* Please notice that some drivers are DVB only, and don't need to be +* here. That's the case, for example, of DVICO_FUSIONHDTV7. +*/ + +#define AU0828_DEVICE (vid, pid, vname, pname) { \ + USB_DEVICE_VENDOR_SPEC(vid, pid), \ + .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_AUDIOCONTROL, \ + .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { \ + .vendor_name = vname, \ + .product_name = pname, \ + .ifnum = QUIRK_ANY_INTERFACE, \ + .type = QUIRK_AUDIO_ALIGN_TRANSFER, \ + } \ +} + +AU0828_DEVICE (0x2040 ,0x7200 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7210 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7217 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721b ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721e ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721f ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7240 ,"Hauppauge" ,"HVR-850" ), +AU0828_DEVICE (0x2040 ,0x7280 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE(0x0fd9, 0x0008, "Hauppauge", "HVR-950Q"), /* Digidesign Mbox */ {Signature · 1 line
1.9.3
Re: [PATCH 1/2] [media] sound: simplify au0828 quirk table
Em Thu, 30 Oct 2014 12:09:07 +0100
Takashi Iwai <[email protected]> escreveu:
Quoted 8 lines
At Thu, 30 Oct 2014 08:53:04 -0200,
Quoted 6 lines · Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <[email protected]>
Add a macro to simplify au0828 quirk table. That makes easier to check it against the USB IDs at
drivers/media/usb/au0828-card.c
Quoted 6 lines
Quoted 3 lines
Signed-off-by Mauro Carvalho Chehab <[email protected]>Signed-off-by Mauro Carvalho Chehab <[email protected]>Which sign-off should I take? Judging from the author line, the former one?
Gah, that's the problem with rebased patches ;)
I started using [email protected] for upstream submission a few months ago.
Both emails are valid, but I prefer if you use this one:
Quoted 1 line
The second patch had only s-o-b from @samsung.com.
Yeah, I remembered to remove the extra SOB on the second patch, but didn't notice it on the first one.
Quoted 179 lines
thanks,
Takashi
Quoted 173 lines
sound/usb/quirks-table.h +31
-127@@ -2804,133 +2804,37 @@ 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_AUDIOCONTROL, - .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, 0x7210), - .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_AUDIOCONTROL, - .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, 0x7217), - .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_AUDIOCONTROL, - .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, 0x721b), - .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_AUDIOCONTROL, - .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, 0x721e), - .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_AUDIOCONTROL, - .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, 0x721f), - .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_AUDIOCONTROL, - .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, 0x7240), - .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_AUDIOCONTROL, - .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 , - } -}, -{ - USB_DEVICE_VENDOR_SPEC(0x2040, 0x7280), - .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_AUDIOCONTROL, - .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(0x0fd9, 0x0008), - .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_AUDIOCONTROL, - .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 , - } -}, +/* +* Auvitek au0828 devices with audio interface. +* This should be kept in sync with drivers/media/usb/au0828-card.c +* Please notice that some drivers are DVB only, and don't need to be +* here. That's the case, for example, of DVICO_FUSIONHDTV7. +*/ + +#define AU0828_DEVICE (vid, pid, vname, pname) { \ + USB_DEVICE_VENDOR_SPEC(vid, pid), \ + .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_AUDIOCONTROL, \ + .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { \ + .vendor_name = vname, \ + .product_name = pname, \ + .ifnum = QUIRK_ANY_INTERFACE, \ + .type = QUIRK_AUDIO_ALIGN_TRANSFER, \ + } \ +} + +AU0828_DEVICE (0x2040 ,0x7200 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7210 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7217 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721b ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721e ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x721f ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7240 ,"Hauppauge" ,"HVR-850" ), +AU0828_DEVICE (0x2040 ,0x7280 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE(0x0fd9, 0x0008, "Hauppauge", "HVR-950Q"), /* Digidesign Mbox */ {Signature · 1 line
1.9.3
Re: [alsa-devel] [PATCH 1/2] [media] sound: simplify au0828 quirk table
In reply to Mauro Carvalho ChehabQuoted 6 lines · Mauro Carvalho Chehab
Add a macro to simplify au0828 quirk table. That makes easier to check it against the USB IDs at
drivers/media/usb/au0828-card.c+++
b/sound/usb/quirks-table.h
...
+ * This should be kept in sync withdrivers/media/usb/au0828-card.c
The file does not exist in that directory. And when you want to keep two files in sync, you need such reminders in both of them.
Regards,
Clemens
Re: [alsa-devel] [PATCH 1/2] [media] sound: simplify au0828 quirk table
Em Thu, 30 Oct 2014 12:16:13 +0100
Clemens Ladisch <[email protected]> escreveu:
Quoted 10 lines
Quoted 6 lines · Mauro Carvalho Chehab
Add a macro to simplify au0828 quirk table. That makes easier to check it against the USB IDs at
drivers/media/usb/au0828-card.c+++
b/sound/usb/quirks-table.h
...
+ * This should be kept in sync withdrivers/media/usb/au0828-card.cThe file does not exist in that directory. And when you want to keep two files in sync, you need such reminders in both of them.
Thanks for reviewing it.
I'm sending an updated version with those fixes.
Regards,
Mauro
PATCH 2/2 sound: Update au0828 quirks table
In reply to Mauro Carvalho ChehabFrom: Mauro Carvalho Chehab <[email protected]>
The au0828 quirks table is currently not in sync with the au0828 media driver.
Syncronize it and put them on the same order as found at au0828 driver, as all the au0828 devices with analog TV need the same quirks.
sound/usb/quirks-table.h +9 -1
@@ -2827,14 +2827,22 @@ YAMAHA_DEVICE(0x7010, "UB99"), }AU0828_DEVICE (0x2040 ,0x7200 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7240 ,"Hauppauge" ,"HVR-850" ),AU0828_DEVICE (0x2040 ,0x7210 ,"Hauppauge" ,"HVR-950Q" ),AU0828_DEVICE (0x2040 ,0x7217 ,"Hauppauge" ,"HVR-950Q" ),AU0828_DEVICE (0x2040 ,0x721b ,"Hauppauge" ,"HVR-950Q" ),AU0828_DEVICE (0x2040 ,0x721e ,"Hauppauge" ,"HVR-950Q" ),AU0828_DEVICE (0x2040 ,0x721f ,"Hauppauge" ,"HVR-950Q" ), -AU0828_DEVICE (0x2040 ,0x7240 ,"Hauppauge" ,"HVR-850" ),AU0828_DEVICE (0x2040 ,0x7280 ,"Hauppauge" ,"HVR-950Q" ),AU0828_DEVICE (0x0fd9 ,0x0008 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7201 ,"Hauppauge" ,"HVR-950Q-MXL" ), +AU0828_DEVICE (0x2040 ,0x7211 ,"Hauppauge" ,"HVR-950Q-MXL" ), +AU0828_DEVICE (0x2040 ,0x7281 ,"Hauppauge" ,"HVR-950Q-MXL" ), +AU0828_DEVICE (0x05e1 ,0x0480 ,"Hauppauge" ,"Woodbury" ), +AU0828_DEVICE (0x2040 ,0x8200 ,"Hauppauge" ,"Woodbury" ), +AU0828_DEVICE (0x2040 ,0x7260 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE (0x2040 ,0x7213 ,"Hauppauge" ,"HVR-950Q" ), +AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"), /* Digidesign Mbox */ {
Signature · 1 line
1.9.3