]> err.no Git - linux-2.6/blobdiff - sound/usb/usbmixer_maps.c
[ALSA] add another Phase 26 quirk
[linux-2.6] / sound / usb / usbmixer_maps.c
index adb0abb3ee85f9633b5b31cab1812052758a99ea..37accb68652d0732aacff50dd15a4a7b36663ee3 100644 (file)
@@ -33,8 +33,7 @@ struct usbmix_selector_map {
 };
 
 struct usbmix_ctl_map {
-       int vendor;
-       int product;
+       u32 id;
        const struct usbmix_name_map *map;
        const struct usbmix_selector_map *selector_map;
        int ignore_ctl_error;
@@ -196,6 +195,22 @@ static struct usbmix_name_map linex_map[] = {
        { 0 } /* terminator */
 };
 
+static struct usbmix_name_map maya44_map[] = {
+       /* 1: IT line */
+       { 2, "Line Playback" }, /* FU */
+       /* 3: IT line */
+       { 4, "Line Playback" }, /* FU */
+       /* 5: IT pcm playback */
+       /* 6: MU */
+       { 7, "Master Playback" }, /* FU */
+       /* 8: OT speaker */
+       /* 9: IT line */
+       { 10, "Line Capture" }, /* FU */
+       /* 11: MU */
+       /* 12: OT pcm capture */
+       { }
+};
+
 /* Section "justlink_map" below added by James Courtier-Dutton <James@superbug.demon.co.uk>
  * sourced from Maplin Electronics (http://www.maplin.co.uk), part number A56AK
  * Part has 2 connectors that act as a single output. (TOSLINK Optical for digital out, and 3.5mm Jack for Analogue out.)
@@ -225,26 +240,40 @@ static struct usbmix_name_map justlink_map[] = {
 
 static struct usbmix_ctl_map usbmix_ctl_maps[] = {
        {
-               .vendor = 0x41e, .product = 0x3000,
+               .id = USB_ID(0x041e, 0x3000),
                .map = extigy_map,
                .ignore_ctl_error = 1,
        },
        {
-               .vendor = 0x41e, .product = 0x3010,
+               .id = USB_ID(0x041e, 0x3010),
                .map = mp3plus_map,
        },
        {
-               .vendor = 0x41e, .product = 0x3020,
+               .id = USB_ID(0x041e, 0x3020),
                .map = audigy2nx_map,
                .selector_map = audigy2nx_selectors,
        },
        {
-               .vendor = 0x8bb, .product = 0x2702,
+               /* Hercules DJ Console (Windows Edition) */
+               .id = USB_ID(0x06f8, 0xb000),
+               .ignore_ctl_error = 1,
+       },
+       {
+               /* Hercules DJ Console (Macintosh Edition) */
+               .id = USB_ID(0x06f8, 0xd002),
+               .ignore_ctl_error = 1,
+       },
+       {
+               .id = USB_ID(0x08bb, 0x2702),
                .map = linex_map,
                .ignore_ctl_error = 1,
        },
        {
-               .vendor = 0xc45, .product = 0x1158,
+               .id = USB_ID(0x0a92, 0x0091),
+               .map = maya44_map,
+       },
+       {
+               .id = USB_ID(0x0c45, 0x1158),
                .map = justlink_map,
        },
        { 0 } /* terminator */