lkml.org 
[lkml]   [2015]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 097/176] sound: simplify au0828 quirk table
    Date
    From: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

    3.12-stable review patch. If anyone has any objections, please let me know.

    ===============

    commit 5d1f00a20d2d56ed480e64e938a2391353ee565b upstream.

    Add a macro to simplify au0828 quirk table. That makes easier
    to check it against the USB IDs at drivers/media/usb/au0828/au0828-cards.c.

    Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
    Signed-off-by: Jiri Slaby <jslaby@suse.cz>
    ---
    drivers/media/usb/au0828/au0828-cards.c | 5 +
    sound/usb/quirks-table.h | 158 +++++++-------------------------
    2 files changed, 36 insertions(+), 127 deletions(-)

    diff --git a/drivers/media/usb/au0828/au0828-cards.c b/drivers/media/usb/au0828/au0828-cards.c
    index dd32decb237d..1d4b11038958 100644
    --- a/drivers/media/usb/au0828/au0828-cards.c
    +++ b/drivers/media/usb/au0828/au0828-cards.c
    @@ -36,6 +36,11 @@ static void hvr950q_cs5340_audio(void *priv, int enable)
    au0828_clear(dev, REG_000, 0x10);
    }

    +/*
    + * WARNING: There's a quirks table at sound/usb/quirks-table.h
    + * that should also be updated every time a new device with V4L2 support
    + * is added here.
    + */
    struct au0828_board au0828_boards[] = {
    [AU0828_BOARD_UNKNOWN] = {
    .name = "Unknown board",
    diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
    index c657752a420c..8f3e2bf100eb 100644
    --- a/sound/usb/quirks-table.h
    +++ b/sound/usb/quirks-table.h
    @@ -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/au0828-cards.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 */
    {
    --
    2.2.2


    \
     
     \ /
      Last update: 2015-01-29 10:41    [W:4.041 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site