~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/sound/usb/quirks-table.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /sound/usb/quirks-table.h (Version linux-6.12-rc7) and /sound/usb/quirks-table.h (Version linux-2.6.32.71)


  1 /* SPDX-License-Identifier: GPL-2.0-or-later *      1 
  2 /*                                                
  3  * ALSA USB Audio Driver                          
  4  *                                                
  5  * Copyright (c) 2002 by Takashi Iwai <tiwai@s    
  6  *                       Clemens Ladisch <clem    
  7  */                                               
  8                                                   
  9 /*                                                
 10  * The contents of this file are part of the d    
 11  *                                                
 12  * In a perfect world, this file would be empt    
 13  */                                               
 14                                                   
 15 /*                                                
 16  * Use this for devices where other interfaces    
 17  * to prevent the quirk being applied to those    
 18  * hotplugging, bDeviceClass must be set to US    
 19  */                                               
 20 #define USB_DEVICE_VENDOR_SPEC(vend, prod) \      
 21         .match_flags = USB_DEVICE_ID_MATCH_VEN    
 22                        USB_DEVICE_ID_MATCH_PRO    
 23                        USB_DEVICE_ID_MATCH_INT    
 24         .idVendor = vend, \                       
 25         .idProduct = prod, \                      
 26         .bInterfaceClass = USB_CLASS_VENDOR_SP    
 27                                                   
 28 /* A standard entry matching with vid/pid and     
 29 #define USB_AUDIO_DEVICE(vend, prod) \            
 30         .match_flags = USB_DEVICE_ID_MATCH_DEV    
 31                        USB_DEVICE_ID_MATCH_INT    
 32                        USB_DEVICE_ID_MATCH_INT    
 33         .idVendor = vend, \                       
 34         .idProduct = prod, \                      
 35         .bInterfaceClass = USB_CLASS_AUDIO, \     
 36         .bInterfaceSubClass = USB_SUBCLASS_AUD    
 37                                                   
 38 /* Quirk .driver_info, followed by the definit    
 39  * put like QUIRK_DRIVER_INFO { ... } in each     
 40  */                                               
 41 #define QUIRK_DRIVER_INFO \                       
 42         .driver_info = (unsigned long)&(const     
 43                                                   
 44 /*                                                
 45  * Macros for quirk data entries                  
 46  */                                               
 47                                                   
 48 /* Quirk data entry for ignoring the interface    
 49 #define QUIRK_DATA_IGNORE(_ifno) \                
 50         .ifnum = (_ifno), .type = QUIRK_IGNORE    
 51 /* Quirk data entry for a standard audio inter    
 52 #define QUIRK_DATA_STANDARD_AUDIO(_ifno) \        
 53         .ifnum = (_ifno), .type = QUIRK_AUDIO_    
 54 /* Quirk data entry for a standard MIDI interf    
 55 #define QUIRK_DATA_STANDARD_MIDI(_ifno) \         
 56         .ifnum = (_ifno), .type = QUIRK_MIDI_S    
 57 /* Quirk data entry for a standard mixer inter    
 58 #define QUIRK_DATA_STANDARD_MIXER(_ifno) \        
 59         .ifnum = (_ifno), .type = QUIRK_AUDIO_    
 60                                                   
 61 /* Quirk data entry for Yamaha MIDI */            
 62 #define QUIRK_DATA_MIDI_YAMAHA(_ifno) \           
 63         .ifnum = (_ifno), .type = QUIRK_MIDI_Y    
 64 /* Quirk data entry for Edirol UAxx */            
 65 #define QUIRK_DATA_EDIROL_UAXX(_ifno) \           
 66         .ifnum = (_ifno), .type = QUIRK_AUDIO_    
 67 /* Quirk data entry for raw bytes interface */    
 68 #define QUIRK_DATA_RAW_BYTES(_ifno) \             
 69         .ifnum = (_ifno), .type = QUIRK_MIDI_R    
 70                                                   
 71 /* Quirk composite array terminator */            
 72 #define QUIRK_COMPOSITE_END     { .ifnum = -1     
 73                                                   
 74 /* Quirk data entry for composite quirks;         
 75  * followed by the quirk array that is termina    
 76  * e.g. QUIRK_DATA_COMPOSITE { { quirk1 }, { q    
 77  */                                               
 78 #define QUIRK_DATA_COMPOSITE \                    
 79         .ifnum = QUIRK_ANY_INTERFACE, \           
 80         .type = QUIRK_COMPOSITE, \                
 81         .data = &(const struct snd_usb_audio_q    
 82                                                   
 83 /* Quirk data entry for a fixed audio endpoint    
 84  * followed by audioformat definition             
 85  * e.g. QUIRK_DATA_AUDIOFORMAT(n) { .formats =    
 86  */                                               
 87 #define QUIRK_DATA_AUDIOFORMAT(_ifno)       \     
 88         .ifnum = (_ifno),                   \     
 89         .type = QUIRK_AUDIO_FIXED_ENDPOINT, \     
 90         .data = &(const struct audioformat)       
 91                                                   
 92 /* Quirk data entry for a fixed MIDI endpoint;    
 93  * followed by snd_usb_midi_endpoint_info defi    
 94  * e.g. QUIRK_DATA_MIDI_FIXED_ENDPOINT(n) { .o    
 95  */                                               
 96 #define QUIRK_DATA_MIDI_FIXED_ENDPOINT(_ifno)     
 97         .ifnum = (_ifno),                         
 98         .type = QUIRK_MIDI_FIXED_ENDPOINT,        
 99         .data = &(const struct snd_usb_midi_en    
100 /* Quirk data entry for a MIDIMAN MIDI endpoin    
101 #define QUIRK_DATA_MIDI_MIDIMAN(_ifno) \          
102         .ifnum = (_ifno),              \          
103         .type = QUIRK_MIDI_MIDIMAN,    \          
104         .data = &(const struct snd_usb_midi_en    
105 /* Quirk data entry for a EMAGIC MIDI endpoint    
106 #define QUIRK_DATA_MIDI_EMAGIC(_ifno) \           
107         .ifnum = (_ifno),             \           
108         .type = QUIRK_MIDI_EMAGIC,    \           
109         .data = &(const struct snd_usb_midi_en    
110                                                   
111 /*                                                
112  * Here we go... the quirk table definition be    
113  */                                               
114                                                   
115 /* FTDI devices */                                
116 {                                                 
117         USB_DEVICE(0x0403, 0xb8d8),               
118         QUIRK_DRIVER_INFO {                       
119                 /* .vendor_name = "STARR LABS"    
120                 /* .product_name = "Starr Labs    
121                 .ifnum = 0,                       
122                 .type = QUIRK_MIDI_FTDI           
123         }                                         
124 },                                                
125                                                   
126 {                                                 
127         /* Creative BT-D1 */                      
128         USB_DEVICE(0x041e, 0x0005),               
129         QUIRK_DRIVER_INFO {                       
130                 QUIRK_DATA_AUDIOFORMAT(1) {       
131                         .formats = SNDRV_PCM_F    
132                         .channels = 2,            
133                         .iface = 1,               
134                         .altsetting = 1,          
135                         .altset_idx = 1,          
136                         .endpoint = 0x03,         
137                         .ep_attr = USB_ENDPOIN    
138                         .attributes = 0,          
139                         .rates = SNDRV_PCM_RAT    
140                         .rate_min = 48000,        
141                         .rate_max = 48000,        
142                 }                                 
143         }                                         
144 },                                                
145                                                   
146 /* E-Mu 0202 USB */                               
147 { USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f02) },       
148 /* E-Mu 0404 USB */                               
149 { USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f04) },       
150 /* E-Mu Tracker Pre */                            
151 { USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f0a) },       
152 /* E-Mu 0204 USB */                               
153 { USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f19) },       
154 /* Ktmicro Usb_audio device */                    
155 { USB_DEVICE_VENDOR_SPEC(0x31b2, 0x0011) },       
156                                                   
157 /*                                                
158  * Creative Technology, Ltd Live! Cam Sync HD     
159  * The device advertises 8 formats, but only a    
160  * hardware and 24 bits give chopped audio, so    
161  * combination.                                   
162  */                                               
163 {                                                 
164         USB_AUDIO_DEVICE(0x041e, 0x4095),         
165         QUIRK_DRIVER_INFO {                       
166                 QUIRK_DATA_COMPOSITE {            
167                         { QUIRK_DATA_STANDARD_    
168                         {                         
169                                 QUIRK_DATA_AUD    
170                                         .forma    
171                                         .chann    
172                                         .fmt_b    
173                                         .iface    
174                                         .altse    
175                                         .altse    
176                                         .endpo    
177                                         .ep_at    
178                                         .rates    
179                                         .rate_    
180                                         .rate_    
181                                         .nr_ra    
182                                         .rate_    
183                                 },                
184                         },                        
185                         QUIRK_COMPOSITE_END       
186                 },                                
187         },                                        
188 },                                                
189                                                   
190 /*                                                
191  * HP Wireless Audio                              
192  * When not ignored, causes instability issues    
193  * skip the entire module.                        
194  */                                               
195 {                                                 
196         USB_DEVICE(0x0424, 0xb832),               
197         QUIRK_DRIVER_INFO {                       
198                 .vendor_name = "Standard Micro    
199                 .product_name = "HP Wireless A    
200                 QUIRK_DATA_COMPOSITE {            
201                         /* Mixer */               
202                         { QUIRK_DATA_IGNORE(0)    
203                         /* Playback */            
204                         { QUIRK_DATA_IGNORE(1)    
205                         /* Capture */             
206                         { QUIRK_DATA_IGNORE(2)    
207                         /* HID Device, .ifnum     
208                         QUIRK_COMPOSITE_END       
209                 }                                 
210         }                                         
211 },                                                
212                                                   
213 /*                                                
214  * Logitech QuickCam: bDeviceClass is vendor-s    
215  * class matches do not take effect without an    
216  */                                               
217 { USB_AUDIO_DEVICE(0x046d, 0x0850) },             
218 { USB_AUDIO_DEVICE(0x046d, 0x08ae) },             
219 { USB_AUDIO_DEVICE(0x046d, 0x08c6) },             
220 { USB_AUDIO_DEVICE(0x046d, 0x08f0) },             
221 { USB_AUDIO_DEVICE(0x046d, 0x08f5) },             
222 { USB_AUDIO_DEVICE(0x046d, 0x08f6) },             
223 { USB_AUDIO_DEVICE(0x046d, 0x0990) },             
224                                                   
225 /*                                                
226  * Yamaha devices                                 
227  */                                               
228                                                   
229 #define YAMAHA_DEVICE(id, name) { \               
230         USB_DEVICE(0x0499, id), \                 
231         QUIRK_DRIVER_INFO { \                     
232                 .vendor_name = "Yamaha", \        
233                 .product_name = name, \           
234                 QUIRK_DATA_MIDI_YAMAHA(QUIRK_A    
235         } \                                       
236 }                                                 
237 #define YAMAHA_INTERFACE(id, intf, name) { \      
238         USB_DEVICE_VENDOR_SPEC(0x0499, id), \     
239         QUIRK_DRIVER_INFO { \                     
240                 .vendor_name = "Yamaha", \        
241                 .product_name = name, \           
242                 QUIRK_DATA_MIDI_YAMAHA(intf) \    
243         } \                                       
244 }                                                 
245 YAMAHA_DEVICE(0x1000, "UX256"),                   
246 YAMAHA_DEVICE(0x1001, "MU1000"),                  
247 YAMAHA_DEVICE(0x1002, "MU2000"),                  
248 YAMAHA_DEVICE(0x1003, "MU500"),                   
249 YAMAHA_INTERFACE(0x1004, 3, "UW500"),             
250 YAMAHA_DEVICE(0x1005, "MOTIF6"),                  
251 YAMAHA_DEVICE(0x1006, "MOTIF7"),                  
252 YAMAHA_DEVICE(0x1007, "MOTIF8"),                  
253 YAMAHA_DEVICE(0x1008, "UX96"),                    
254 YAMAHA_DEVICE(0x1009, "UX16"),                    
255 YAMAHA_INTERFACE(0x100a, 3, "EOS BX"),            
256 YAMAHA_DEVICE(0x100c, "UC-MX"),                   
257 YAMAHA_DEVICE(0x100d, "UC-KX"),                   
258 YAMAHA_DEVICE(0x100e, "S08"),                     
259 YAMAHA_DEVICE(0x100f, "CLP-150"),                 
260 YAMAHA_DEVICE(0x1010, "CLP-170"),                 
261 YAMAHA_DEVICE(0x1011, "P-250"),                   
262 YAMAHA_DEVICE(0x1012, "TYROS"),                   
263 YAMAHA_DEVICE(0x1013, "PF-500"),                  
264 YAMAHA_DEVICE(0x1014, "S90"),                     
265 YAMAHA_DEVICE(0x1015, "MOTIF-R"),                 
266 YAMAHA_DEVICE(0x1016, "MDP-5"),                   
267 YAMAHA_DEVICE(0x1017, "CVP-204"),                 
268 YAMAHA_DEVICE(0x1018, "CVP-206"),                 
269 YAMAHA_DEVICE(0x1019, "CVP-208"),                 
270 YAMAHA_DEVICE(0x101a, "CVP-210"),                 
271 YAMAHA_DEVICE(0x101b, "PSR-1100"),                
272 YAMAHA_DEVICE(0x101c, "PSR-2100"),                
273 YAMAHA_DEVICE(0x101d, "CLP-175"),                 
274 YAMAHA_DEVICE(0x101e, "PSR-K1"),                  
275 YAMAHA_DEVICE(0x101f, "EZ-J24"),                  
276 YAMAHA_DEVICE(0x1020, "EZ-250i"),                 
277 YAMAHA_DEVICE(0x1021, "MOTIF ES 6"),              
278 YAMAHA_DEVICE(0x1022, "MOTIF ES 7"),              
279 YAMAHA_DEVICE(0x1023, "MOTIF ES 8"),              
280 YAMAHA_DEVICE(0x1024, "CVP-301"),                 
281 YAMAHA_DEVICE(0x1025, "CVP-303"),                 
282 YAMAHA_DEVICE(0x1026, "CVP-305"),                 
283 YAMAHA_DEVICE(0x1027, "CVP-307"),                 
284 YAMAHA_DEVICE(0x1028, "CVP-309"),                 
285 YAMAHA_DEVICE(0x1029, "CVP-309GP"),               
286 YAMAHA_DEVICE(0x102a, "PSR-1500"),                
287 YAMAHA_DEVICE(0x102b, "PSR-3000"),                
288 YAMAHA_DEVICE(0x102e, "ELS-01/01C"),              
289 YAMAHA_DEVICE(0x1030, "PSR-295/293"),             
290 YAMAHA_DEVICE(0x1031, "DGX-205/203"),             
291 YAMAHA_DEVICE(0x1032, "DGX-305"),                 
292 YAMAHA_DEVICE(0x1033, "DGX-505"),                 
293 YAMAHA_DEVICE(0x1034, NULL),                      
294 YAMAHA_DEVICE(0x1035, NULL),                      
295 YAMAHA_DEVICE(0x1036, NULL),                      
296 YAMAHA_DEVICE(0x1037, NULL),                      
297 YAMAHA_DEVICE(0x1038, NULL),                      
298 YAMAHA_DEVICE(0x1039, NULL),                      
299 YAMAHA_DEVICE(0x103a, NULL),                      
300 YAMAHA_DEVICE(0x103b, NULL),                      
301 YAMAHA_DEVICE(0x103c, NULL),                      
302 YAMAHA_DEVICE(0x103d, NULL),                      
303 YAMAHA_DEVICE(0x103e, NULL),                      
304 YAMAHA_DEVICE(0x103f, NULL),                      
305 YAMAHA_DEVICE(0x1040, NULL),                      
306 YAMAHA_DEVICE(0x1041, NULL),                      
307 YAMAHA_DEVICE(0x1042, NULL),                      
308 YAMAHA_DEVICE(0x1043, NULL),                      
309 YAMAHA_DEVICE(0x1044, NULL),                      
310 YAMAHA_DEVICE(0x1045, NULL),                      
311 YAMAHA_INTERFACE(0x104e, 0, NULL),                
312 YAMAHA_DEVICE(0x104f, NULL),                      
313 YAMAHA_DEVICE(0x1050, NULL),                      
314 YAMAHA_DEVICE(0x1051, NULL),                      
315 YAMAHA_DEVICE(0x1052, NULL),                      
316 YAMAHA_INTERFACE(0x1053, 0, NULL),                
317 YAMAHA_INTERFACE(0x1054, 0, NULL),                
318 YAMAHA_DEVICE(0x1055, NULL),                      
319 YAMAHA_DEVICE(0x1056, NULL),                      
320 YAMAHA_DEVICE(0x1057, NULL),                      
321 YAMAHA_DEVICE(0x1058, NULL),                      
322 YAMAHA_DEVICE(0x1059, NULL),                      
323 YAMAHA_DEVICE(0x105a, NULL),                      
324 YAMAHA_DEVICE(0x105b, NULL),                      
325 YAMAHA_DEVICE(0x105c, NULL),                      
326 YAMAHA_DEVICE(0x105d, NULL),                      
327 YAMAHA_DEVICE(0x1718, "P-125"),                   
328 {                                                 
329         USB_DEVICE(0x0499, 0x1503),               
330         QUIRK_DRIVER_INFO {                       
331                 /* .vendor_name = "Yamaha", */    
332                 /* .product_name = "MOX6/MOX8"    
333                 QUIRK_DATA_COMPOSITE {            
334                         { QUIRK_DATA_STANDARD_    
335                         { QUIRK_DATA_STANDARD_    
336                         { QUIRK_DATA_MIDI_YAMA    
337                         QUIRK_COMPOSITE_END       
338                 }                                 
339         }                                         
340 },                                                
341 {                                                 
342         USB_DEVICE(0x0499, 0x1507),               
343         QUIRK_DRIVER_INFO {                       
344                 /* .vendor_name = "Yamaha", */    
345                 /* .product_name = "THR10", */    
346                 QUIRK_DATA_COMPOSITE {            
347                         { QUIRK_DATA_STANDARD_    
348                         { QUIRK_DATA_STANDARD_    
349                         { QUIRK_DATA_MIDI_YAMA    
350                         QUIRK_COMPOSITE_END       
351                 }                                 
352         }                                         
353 },                                                
354 {                                                 
355         USB_DEVICE(0x0499, 0x1509),               
356         QUIRK_DRIVER_INFO {                       
357                 /* .vendor_name = "Yamaha", */    
358                 /* .product_name = "Steinberg     
359                 QUIRK_DATA_COMPOSITE {            
360                         { QUIRK_DATA_STANDARD_    
361                         { QUIRK_DATA_STANDARD_    
362                         { QUIRK_DATA_MIDI_YAMA    
363                         { QUIRK_DATA_IGNORE(4)    
364                         QUIRK_COMPOSITE_END       
365                 }                                 
366         }                                         
367 },                                                
368 {                                                 
369         USB_DEVICE(0x0499, 0x150a),               
370         QUIRK_DRIVER_INFO {                       
371                 /* .vendor_name = "Yamaha", */    
372                 /* .product_name = "THR5A", */    
373                 QUIRK_DATA_COMPOSITE {            
374                         { QUIRK_DATA_STANDARD_    
375                         { QUIRK_DATA_STANDARD_    
376                         { QUIRK_DATA_MIDI_YAMA    
377                         QUIRK_COMPOSITE_END       
378                 }                                 
379         }                                         
380 },                                                
381 {                                                 
382         USB_DEVICE(0x0499, 0x150c),               
383         QUIRK_DRIVER_INFO {                       
384                 /* .vendor_name = "Yamaha", */    
385                 /* .product_name = "THR10C", *    
386                 QUIRK_DATA_COMPOSITE {            
387                         { QUIRK_DATA_STANDARD_    
388                         { QUIRK_DATA_STANDARD_    
389                         { QUIRK_DATA_MIDI_YAMA    
390                         QUIRK_COMPOSITE_END       
391                 }                                 
392         }                                         
393 },                                                
394 YAMAHA_DEVICE(0x2000, "DGP-7"),                   
395 YAMAHA_DEVICE(0x2001, "DGP-5"),                   
396 YAMAHA_DEVICE(0x2002, NULL),                      
397 YAMAHA_DEVICE(0x2003, NULL),                      
398 YAMAHA_DEVICE(0x5000, "CS1D"),                    
399 YAMAHA_DEVICE(0x5001, "DSP1D"),                   
400 YAMAHA_DEVICE(0x5002, "DME32"),                   
401 YAMAHA_DEVICE(0x5003, "DM2000"),                  
402 YAMAHA_DEVICE(0x5004, "02R96"),                   
403 YAMAHA_DEVICE(0x5005, "ACU16-C"),                 
404 YAMAHA_DEVICE(0x5006, "NHB32-C"),                 
405 YAMAHA_DEVICE(0x5007, "DM1000"),                  
406 YAMAHA_DEVICE(0x5008, "01V96"),                   
407 YAMAHA_DEVICE(0x5009, "SPX2000"),                 
408 YAMAHA_DEVICE(0x500a, "PM5D"),                    
409 YAMAHA_DEVICE(0x500b, "DME64N"),                  
410 YAMAHA_DEVICE(0x500c, "DME24N"),                  
411 YAMAHA_DEVICE(0x500d, NULL),                      
412 YAMAHA_DEVICE(0x500e, NULL),                      
413 YAMAHA_DEVICE(0x500f, NULL),                      
414 YAMAHA_DEVICE(0x7000, "DTX"),                     
415 YAMAHA_DEVICE(0x7010, "UB99"),                    
416 #undef YAMAHA_DEVICE                              
417 #undef YAMAHA_INTERFACE                           
418 /* this catches most recent vendor-specific Ya    
419 {                                                 
420         .match_flags = USB_DEVICE_ID_MATCH_VEN    
421                        USB_DEVICE_ID_MATCH_INT    
422         .idVendor = 0x0499,                       
423         .bInterfaceClass = USB_CLASS_VENDOR_SP    
424         QUIRK_DRIVER_INFO {                       
425                 .ifnum = QUIRK_ANY_INTERFACE,     
426                 .type = QUIRK_AUTODETECT          
427         }                                         
428 },                                                
429                                                   
430 /*                                                
431  * Roland/RolandED/Edirol/BOSS devices            
432  */                                               
433 {                                                 
434         USB_DEVICE(0x0582, 0x0000),               
435         QUIRK_DRIVER_INFO {                       
436                 .vendor_name = "Roland",          
437                 .product_name = "UA-100",         
438                 QUIRK_DATA_COMPOSITE {            
439                         {                         
440                                 QUIRK_DATA_AUD    
441                                         .forma    
442                                         .chann    
443                                         .iface    
444                                         .altse    
445                                         .altse    
446                                         .attri    
447                                         .endpo    
448                                         .ep_at    
449                                         .rates    
450                                         .rate_    
451                                         .rate_    
452                                 }                 
453                         },                        
454                         {                         
455                                 QUIRK_DATA_AUD    
456                                         .forma    
457                                         .chann    
458                                         .iface    
459                                         .altse    
460                                         .altse    
461                                         .attri    
462                                         .endpo    
463                                         .ep_at    
464                                         .rates    
465                                         .rate_    
466                                         .rate_    
467                                 }                 
468                         },                        
469                         {                         
470                                 QUIRK_DATA_MID    
471                                         .out_c    
472                                         .in_ca    
473                                 }                 
474                         },                        
475                         QUIRK_COMPOSITE_END       
476                 }                                 
477         }                                         
478 },                                                
479 {                                                 
480         USB_DEVICE(0x0582, 0x0002),               
481         QUIRK_DRIVER_INFO {                       
482                 .vendor_name = "EDIROL",          
483                 .product_name = "UM-4",           
484                 QUIRK_DATA_COMPOSITE {            
485                         { QUIRK_DATA_IGNORE(0)    
486                         { QUIRK_DATA_IGNORE(1)    
487                         {                         
488                                 QUIRK_DATA_MID    
489                                         .out_c    
490                                         .in_ca    
491                                 }                 
492                         },                        
493                         QUIRK_COMPOSITE_END       
494                 }                                 
495         }                                         
496 },                                                
497 {                                                 
498         USB_DEVICE(0x0582, 0x0003),               
499         QUIRK_DRIVER_INFO {                       
500                 .vendor_name = "Roland",          
501                 .product_name = "SC-8850",        
502                 QUIRK_DATA_COMPOSITE {            
503                         { QUIRK_DATA_IGNORE(0)    
504                         { QUIRK_DATA_IGNORE(1)    
505                         {                         
506                                 QUIRK_DATA_MID    
507                                         .out_c    
508                                         .in_ca    
509                                 }                 
510                         },                        
511                         QUIRK_COMPOSITE_END       
512                 }                                 
513         }                                         
514 },                                                
515 {                                                 
516         USB_DEVICE(0x0582, 0x0004),               
517         QUIRK_DRIVER_INFO {                       
518                 .vendor_name = "Roland",          
519                 .product_name = "U-8",            
520                 QUIRK_DATA_COMPOSITE {            
521                         { QUIRK_DATA_IGNORE(0)    
522                         { QUIRK_DATA_IGNORE(1)    
523                         {                         
524                                 QUIRK_DATA_MID    
525                                         .out_c    
526                                         .in_ca    
527                                 }                 
528                         },                        
529                         QUIRK_COMPOSITE_END       
530                 }                                 
531         }                                         
532 },                                                
533 {                                                 
534         /* Has ID 0x0099 when not in "Advanced    
535          * The UM-2EX has only one input, but     
536         USB_DEVICE(0x0582, 0x0005),               
537         QUIRK_DRIVER_INFO {                       
538                 .vendor_name = "EDIROL",          
539                 .product_name = "UM-2",           
540                 QUIRK_DATA_COMPOSITE {            
541                         { QUIRK_DATA_IGNORE(0)    
542                         { QUIRK_DATA_IGNORE(1)    
543                         {                         
544                                 QUIRK_DATA_MID    
545                                         .out_c    
546                                         .in_ca    
547                                 }                 
548                         },                        
549                         QUIRK_COMPOSITE_END       
550                 }                                 
551         }                                         
552 },                                                
553 {                                                 
554         USB_DEVICE(0x0582, 0x0007),               
555         QUIRK_DRIVER_INFO {                       
556                 .vendor_name = "Roland",          
557                 .product_name = "SC-8820",        
558                 QUIRK_DATA_COMPOSITE {            
559                         { QUIRK_DATA_IGNORE(0)    
560                         { QUIRK_DATA_IGNORE(1)    
561                         {                         
562                                 QUIRK_DATA_MID    
563                                         .out_c    
564                                         .in_ca    
565                                 }                 
566                         },                        
567                         QUIRK_COMPOSITE_END       
568                 }                                 
569         }                                         
570 },                                                
571 {                                                 
572         USB_DEVICE(0x0582, 0x0008),               
573         QUIRK_DRIVER_INFO {                       
574                 .vendor_name = "Roland",          
575                 .product_name = "PC-300",         
576                 QUIRK_DATA_COMPOSITE {            
577                         { QUIRK_DATA_IGNORE(0)    
578                         { QUIRK_DATA_IGNORE(1)    
579                         {                         
580                                 QUIRK_DATA_MID    
581                                         .out_c    
582                                         .in_ca    
583                                 }                 
584                         },                        
585                         QUIRK_COMPOSITE_END       
586                 }                                 
587         }                                         
588 },                                                
589 {                                                 
590         /* has ID 0x009d when not in "Advanced    
591         USB_DEVICE(0x0582, 0x0009),               
592         QUIRK_DRIVER_INFO {                       
593                 .vendor_name = "EDIROL",          
594                 .product_name = "UM-1",           
595                 QUIRK_DATA_COMPOSITE {            
596                         { QUIRK_DATA_IGNORE(0)    
597                         { QUIRK_DATA_IGNORE(1)    
598                         {                         
599                                 QUIRK_DATA_MID    
600                                         .out_c    
601                                         .in_ca    
602                                 }                 
603                         },                        
604                         QUIRK_COMPOSITE_END       
605                 }                                 
606         }                                         
607 },                                                
608 {                                                 
609         USB_DEVICE(0x0582, 0x000b),               
610         QUIRK_DRIVER_INFO {                       
611                 .vendor_name = "Roland",          
612                 .product_name = "SK-500",         
613                 QUIRK_DATA_COMPOSITE {            
614                         { QUIRK_DATA_IGNORE(0)    
615                         { QUIRK_DATA_IGNORE(1)    
616                         {                         
617                                 QUIRK_DATA_MID    
618                                         .out_c    
619                                         .in_ca    
620                                 }                 
621                         },                        
622                         QUIRK_COMPOSITE_END       
623                 }                                 
624         }                                         
625 },                                                
626 {                                                 
627         /* thanks to Emiliano Grilli <emillo@l    
628          * for helping researching this data *    
629         USB_DEVICE(0x0582, 0x000c),               
630         QUIRK_DRIVER_INFO {                       
631                 .vendor_name = "Roland",          
632                 .product_name = "SC-D70",         
633                 QUIRK_DATA_COMPOSITE {            
634                         { QUIRK_DATA_STANDARD_    
635                         { QUIRK_DATA_STANDARD_    
636                         {                         
637                                 QUIRK_DATA_MID    
638                                         .out_c    
639                                         .in_ca    
640                                 }                 
641                         },                        
642                         QUIRK_COMPOSITE_END       
643                 }                                 
644         }                                         
645 },                                                
646 {       /*                                        
647          * This quirk is for the "Advanced Dri    
648          * If the advanced mode switch at the     
649          * UA-5 has ID 0x0582/0x0011 and is st    
650          * but offers only 16-bit PCM.            
651          * In advanced mode, the UA-5 will out    
652          * channels) at the rate indicated on     
653          * the 96kHz sample rate.                 
654          */                                       
655         USB_DEVICE(0x0582, 0x0010),               
656         QUIRK_DRIVER_INFO {                       
657                 .vendor_name = "EDIROL",          
658                 .product_name = "UA-5",           
659                 QUIRK_DATA_COMPOSITE {            
660                         { QUIRK_DATA_STANDARD_    
661                         { QUIRK_DATA_STANDARD_    
662                         QUIRK_COMPOSITE_END       
663                 }                                 
664         }                                         
665 },                                                
666 {                                                 
667         /* has ID 0x0013 when not in "Advanced    
668         USB_DEVICE(0x0582, 0x0012),               
669         QUIRK_DRIVER_INFO {                       
670                 .vendor_name = "Roland",          
671                 .product_name = "XV-5050",        
672                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
673                         .out_cables = 0x0001,     
674                         .in_cables  = 0x0001      
675                 }                                 
676         }                                         
677 },                                                
678 {                                                 
679         /* has ID 0x0015 when not in "Advanced    
680         USB_DEVICE(0x0582, 0x0014),               
681         QUIRK_DRIVER_INFO {                       
682                 .vendor_name = "EDIROL",          
683                 .product_name = "UM-880",         
684                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
685                         .out_cables = 0x01ff,     
686                         .in_cables  = 0x01ff      
687                 }                                 
688         }                                         
689 },                                                
690 {                                                 
691         /* has ID 0x0017 when not in "Advanced    
692         USB_DEVICE(0x0582, 0x0016),               
693         QUIRK_DRIVER_INFO {                       
694                 .vendor_name = "EDIROL",          
695                 .product_name = "SD-90",          
696                 QUIRK_DATA_COMPOSITE {            
697                         { QUIRK_DATA_STANDARD_    
698                         { QUIRK_DATA_STANDARD_    
699                         {                         
700                                 QUIRK_DATA_MID    
701                                         .out_c    
702                                         .in_ca    
703                                 }                 
704                         },                        
705                         QUIRK_COMPOSITE_END       
706                 }                                 
707         }                                         
708 },                                                
709 {                                                 
710         /* has ID 0x001c when not in "Advanced    
711         USB_DEVICE(0x0582, 0x001b),               
712         QUIRK_DRIVER_INFO {                       
713                 .vendor_name = "Roland",          
714                 .product_name = "MMP-2",          
715                 QUIRK_DATA_COMPOSITE {            
716                         { QUIRK_DATA_IGNORE(0)    
717                         { QUIRK_DATA_IGNORE(1)    
718                         {                         
719                                 QUIRK_DATA_MID    
720                                         .out_c    
721                                         .in_ca    
722                                 }                 
723                         },                        
724                         QUIRK_COMPOSITE_END       
725                 }                                 
726         }                                         
727 },                                                
728 {                                                 
729         /* has ID 0x001e when not in "Advanced    
730         USB_DEVICE(0x0582, 0x001d),               
731         QUIRK_DRIVER_INFO {                       
732                 .vendor_name = "Roland",          
733                 .product_name = "V-SYNTH",        
734                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
735                         .out_cables = 0x0001,     
736                         .in_cables  = 0x0001      
737                 }                                 
738         }                                         
739 },                                                
740 {                                                 
741         /* has ID 0x0024 when not in "Advanced    
742         USB_DEVICE(0x0582, 0x0023),               
743         QUIRK_DRIVER_INFO {                       
744                 .vendor_name = "EDIROL",          
745                 .product_name = "UM-550",         
746                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
747                         .out_cables = 0x003f,     
748                         .in_cables  = 0x003f      
749                 }                                 
750         }                                         
751 },                                                
752 {                                                 
753         /*                                        
754          * This quirk is for the "Advanced Dri    
755          * has ID 0x0026 and is standard compl    
756          * and no MIDI.                           
757          */                                       
758         USB_DEVICE(0x0582, 0x0025),               
759         QUIRK_DRIVER_INFO {                       
760                 .vendor_name = "EDIROL",          
761                 .product_name = "UA-20",          
762                 QUIRK_DATA_COMPOSITE {            
763                         { QUIRK_DATA_IGNORE(0)    
764                         {                         
765                                 QUIRK_DATA_AUD    
766                                         .forma    
767                                         .chann    
768                                         .iface    
769                                         .altse    
770                                         .altse    
771                                         .attri    
772                                         .endpo    
773                                         .ep_at    
774                                         .rates    
775                                         .rate_    
776                                         .rate_    
777                                 }                 
778                         },                        
779                         {                         
780                                 QUIRK_DATA_AUD    
781                                         .forma    
782                                         .chann    
783                                         .iface    
784                                         .altse    
785                                         .altse    
786                                         .attri    
787                                         .endpo    
788                                         .ep_at    
789                                         .rates    
790                                         .rate_    
791                                         .rate_    
792                                 }                 
793                         },                        
794                         {                         
795                                 QUIRK_DATA_MID    
796                                         .out_c    
797                                         .in_ca    
798                                 }                 
799                         },                        
800                         QUIRK_COMPOSITE_END       
801                 }                                 
802         }                                         
803 },                                                
804 {                                                 
805         /* has ID 0x0028 when not in "Advanced    
806         USB_DEVICE(0x0582, 0x0027),               
807         QUIRK_DRIVER_INFO {                       
808                 .vendor_name = "EDIROL",          
809                 .product_name = "SD-20",          
810                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
811                         .out_cables = 0x0003,     
812                         .in_cables  = 0x0007      
813                 }                                 
814         }                                         
815 },                                                
816 {                                                 
817         /* has ID 0x002a when not in "Advanced    
818         USB_DEVICE(0x0582, 0x0029),               
819         QUIRK_DRIVER_INFO {                       
820                 .vendor_name = "EDIROL",          
821                 .product_name = "SD-80",          
822                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
823                         .out_cables = 0x000f,     
824                         .in_cables  = 0x000f      
825                 }                                 
826         }                                         
827 },                                                
828 {       /*                                        
829          * This quirk is for the "Advanced" mo    
830          * If the sample format switch is not     
831          * UA-700 has ID 0x0582/0x002c and is     
832          * but offers only 16-bit PCM and no M    
833          */                                       
834         USB_DEVICE_VENDOR_SPEC(0x0582, 0x002b)    
835         QUIRK_DRIVER_INFO {                       
836                 .vendor_name = "EDIROL",          
837                 .product_name = "UA-700",         
838                 QUIRK_DATA_COMPOSITE {            
839                         { QUIRK_DATA_EDIROL_UA    
840                         { QUIRK_DATA_EDIROL_UA    
841                         { QUIRK_DATA_EDIROL_UA    
842                         QUIRK_COMPOSITE_END       
843                 }                                 
844         }                                         
845 },                                                
846 {                                                 
847         /* has ID 0x002e when not in "Advanced    
848         USB_DEVICE(0x0582, 0x002d),               
849         QUIRK_DRIVER_INFO {                       
850                 .vendor_name = "Roland",          
851                 .product_name = "XV-2020",        
852                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
853                         .out_cables = 0x0001,     
854                         .in_cables  = 0x0001      
855                 }                                 
856         }                                         
857 },                                                
858 {                                                 
859         /* has ID 0x0030 when not in "Advanced    
860         USB_DEVICE(0x0582, 0x002f),               
861         QUIRK_DRIVER_INFO {                       
862                 .vendor_name = "Roland",          
863                 .product_name = "VariOS",         
864                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
865                         .out_cables = 0x0007,     
866                         .in_cables  = 0x0007      
867                 }                                 
868         }                                         
869 },                                                
870 {                                                 
871         /* has ID 0x0034 when not in "Advanced    
872         USB_DEVICE(0x0582, 0x0033),               
873         QUIRK_DRIVER_INFO {                       
874                 .vendor_name = "EDIROL",          
875                 .product_name = "PCR",            
876                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
877                         .out_cables = 0x0003,     
878                         .in_cables  = 0x0007      
879                 }                                 
880         }                                         
881 },                                                
882 {                                                 
883         /*                                        
884          * Has ID 0x0038 when not in "Advanced    
885          * later revisions use IDs 0x0054 and     
886          */                                       
887         USB_DEVICE(0x0582, 0x0037),               
888         QUIRK_DRIVER_INFO {                       
889                 .vendor_name = "Roland",          
890                 .product_name = "Digital Piano    
891                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
892                         .out_cables = 0x0001,     
893                         .in_cables  = 0x0001      
894                 }                                 
895         }                                         
896 },                                                
897 {                                                 
898         /*                                        
899          * This quirk is for the "Advanced Dri    
900          * has ID 0x003c and is standard compl    
901          * and no MIDI.                           
902          */                                       
903         USB_DEVICE_VENDOR_SPEC(0x0582, 0x003b)    
904         QUIRK_DRIVER_INFO {                       
905                 .vendor_name = "BOSS",            
906                 .product_name = "GS-10",          
907                 QUIRK_DATA_COMPOSITE {            
908                         { QUIRK_DATA_STANDARD_    
909                         { QUIRK_DATA_STANDARD_    
910                         { QUIRK_DATA_STANDARD_    
911                         QUIRK_COMPOSITE_END       
912                 }                                 
913         }                                         
914 },                                                
915 {                                                 
916         /* has ID 0x0041 when not in "Advanced    
917         USB_DEVICE(0x0582, 0x0040),               
918         QUIRK_DRIVER_INFO {                       
919                 .vendor_name = "Roland",          
920                 .product_name = "GI-20",          
921                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
922                         .out_cables = 0x0001,     
923                         .in_cables  = 0x0001      
924                 }                                 
925         }                                         
926 },                                                
927 {                                                 
928         /* has ID 0x0043 when not in "Advanced    
929         USB_DEVICE(0x0582, 0x0042),               
930         QUIRK_DRIVER_INFO {                       
931                 .vendor_name = "Roland",          
932                 .product_name = "RS-70",          
933                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
934                         .out_cables = 0x0001,     
935                         .in_cables  = 0x0001      
936                 }                                 
937         }                                         
938 },                                                
939 {                                                 
940         /* has ID 0x0049 when not in "Advanced    
941         USB_DEVICE(0x0582, 0x0047),               
942         QUIRK_DRIVER_INFO {                       
943                 /* .vendor_name = "EDIROL", */    
944                 /* .product_name = "UR-80", */    
945                 QUIRK_DATA_COMPOSITE {            
946                         /* in the 96 kHz modes    
947                         { QUIRK_DATA_STANDARD_    
948                         { QUIRK_DATA_STANDARD_    
949                         QUIRK_COMPOSITE_END       
950                 }                                 
951         }                                         
952 },                                                
953 {                                                 
954         /* has ID 0x004a when not in "Advanced    
955         USB_DEVICE(0x0582, 0x0048),               
956         QUIRK_DRIVER_INFO {                       
957                 /* .vendor_name = "EDIROL", */    
958                 /* .product_name = "UR-80", */    
959                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
960                         .out_cables = 0x0003,     
961                         .in_cables  = 0x0007      
962                 }                                 
963         }                                         
964 },                                                
965 {                                                 
966         /* has ID 0x004e when not in "Advanced    
967         USB_DEVICE(0x0582, 0x004c),               
968         QUIRK_DRIVER_INFO {                       
969                 .vendor_name = "EDIROL",          
970                 .product_name = "PCR-A",          
971                 QUIRK_DATA_COMPOSITE {            
972                         { QUIRK_DATA_STANDARD_    
973                         { QUIRK_DATA_STANDARD_    
974                         QUIRK_COMPOSITE_END       
975                 }                                 
976         }                                         
977 },                                                
978 {                                                 
979         /* has ID 0x004f when not in "Advanced    
980         USB_DEVICE(0x0582, 0x004d),               
981         QUIRK_DRIVER_INFO {                       
982                 .vendor_name = "EDIROL",          
983                 .product_name = "PCR-A",          
984                 QUIRK_DATA_MIDI_FIXED_ENDPOINT    
985                         .out_cables = 0x0003,     
986                         .in_cables  = 0x0007      
987                 }                                 
988         }                                         
989 },                                                
990 {                                                 
991         /*                                        
992          * This quirk is for the "Advanced Dri    
993          * is standard compliant, but has only    
994          */                                       
995         USB_DEVICE(0x0582, 0x0050),               
996         QUIRK_DRIVER_INFO {                       
997                 .vendor_name = "EDIROL",          
998                 .product_name = "UA-3FX",         
999                 QUIRK_DATA_COMPOSITE {            
1000                         { QUIRK_DATA_STANDARD    
1001                         { QUIRK_DATA_STANDARD    
1002                         QUIRK_COMPOSITE_END      
1003                 }                                
1004         }                                        
1005 },                                               
1006 {                                                
1007         USB_DEVICE(0x0582, 0x0052),              
1008         QUIRK_DRIVER_INFO {                      
1009                 .vendor_name = "EDIROL",         
1010                 .product_name = "UM-1SX",        
1011                 QUIRK_DATA_STANDARD_MIDI(0)      
1012         }                                        
1013 },                                               
1014 {                                                
1015         USB_DEVICE(0x0582, 0x0060),              
1016         QUIRK_DRIVER_INFO {                      
1017                 .vendor_name = "Roland",         
1018                 .product_name = "EXR Series",    
1019                 QUIRK_DATA_STANDARD_MIDI(0)      
1020         }                                        
1021 },                                               
1022 {                                                
1023         /* has ID 0x0066 when not in "Advance    
1024         USB_DEVICE(0x0582, 0x0064),              
1025         QUIRK_DRIVER_INFO {                      
1026                 /* .vendor_name = "EDIROL", *    
1027                 /* .product_name = "PCR-1", *    
1028                 QUIRK_DATA_COMPOSITE {           
1029                         { QUIRK_DATA_STANDARD    
1030                         { QUIRK_DATA_STANDARD    
1031                         QUIRK_COMPOSITE_END      
1032                 }                                
1033         }                                        
1034 },                                               
1035 {                                                
1036         /* has ID 0x0067 when not in "Advance    
1037         USB_DEVICE(0x0582, 0x0065),              
1038         QUIRK_DRIVER_INFO {                      
1039                 /* .vendor_name = "EDIROL", *    
1040                 /* .product_name = "PCR-1", *    
1041                 QUIRK_DATA_MIDI_FIXED_ENDPOIN    
1042                         .out_cables = 0x0001,    
1043                         .in_cables  = 0x0003     
1044                 }                                
1045         }                                        
1046 },                                               
1047 {                                                
1048         /* has ID 0x006e when not in "Advance    
1049         USB_DEVICE(0x0582, 0x006d),              
1050         QUIRK_DRIVER_INFO {                      
1051                 .vendor_name = "Roland",         
1052                 .product_name = "FANTOM-X",      
1053                 QUIRK_DATA_MIDI_FIXED_ENDPOIN    
1054                         .out_cables = 0x0001,    
1055                         .in_cables  = 0x0001     
1056                 }                                
1057         }                                        
1058 },                                               
1059 {       /*                                       
1060          * This quirk is for the "Advanced" m    
1061          * If the switch is not in an advance    
1062          * ID 0x0582/0x0073 and is standard c    
1063          * offers only 16-bit PCM at 44.1 kHz    
1064          */                                      
1065         USB_DEVICE_VENDOR_SPEC(0x0582, 0x0074    
1066         QUIRK_DRIVER_INFO {                      
1067                 .vendor_name = "EDIROL",         
1068                 .product_name = "UA-25",         
1069                 QUIRK_DATA_COMPOSITE {           
1070                         { QUIRK_DATA_EDIROL_U    
1071                         { QUIRK_DATA_EDIROL_U    
1072                         { QUIRK_DATA_EDIROL_U    
1073                         QUIRK_COMPOSITE_END      
1074                 }                                
1075         }                                        
1076 },                                               
1077 {                                                
1078         /* has ID 0x0076 when not in "Advance    
1079         USB_DEVICE(0x0582, 0x0075),              
1080         QUIRK_DRIVER_INFO {                      
1081                 .vendor_name = "BOSS",           
1082                 .product_name = "DR-880",        
1083                 QUIRK_DATA_MIDI_FIXED_ENDPOIN    
1084                         .out_cables = 0x0001,    
1085                         .in_cables  = 0x0001     
1086                 }                                
1087         }                                        
1088 },                                               
1089 {                                                
1090         /* has ID 0x007b when not in "Advance    
1091         USB_DEVICE_VENDOR_SPEC(0x0582, 0x007a    
1092         QUIRK_DRIVER_INFO {                      
1093                 .vendor_name = "Roland",         
1094                 /* "RD" or "RD-700SX"? */        
1095                 QUIRK_DATA_MIDI_FIXED_ENDPOIN    
1096                         .out_cables = 0x0003,    
1097                         .in_cables  = 0x0003     
1098                 }                                
1099         }                                        
1100 },                                               
1101 {                                                
1102         /* has ID 0x0081 when not in "Advance    
1103         USB_DEVICE(0x0582, 0x0080),              
1104         QUIRK_DRIVER_INFO {                      
1105                 .vendor_name = "Roland",         
1106                 .product_name = "G-70",          
1107                 QUIRK_DATA_MIDI_FIXED_ENDPOIN    
1108                         .out_cables = 0x0001,    
1109                         .in_cables  = 0x0001     
1110                 }                                
1111         }                                        
1112 },                                               
1113 {                                                
1114         /* has ID 0x008c when not in "Advance    
1115         USB_DEVICE(0x0582, 0x008b),              
1116         QUIRK_DRIVER_INFO {                      
1117                 .vendor_name = "EDIROL",         
1118                 .product_name = "PC-50",         
1119                 QUIRK_DATA_MIDI_FIXED_ENDPOIN    
1120                         .out_cables = 0x0001,    
1121                         .in_cables  = 0x0001     
1122                 }                                
1123         }                                        
1124 },                                               
1125 {                                                
1126         /*                                       
1127          * This quirk is for the "Advanced Dr    
1128          * is standard compliant, but has onl    
1129          */                                      
1130         USB_DEVICE(0x0582, 0x00a3),              
1131         QUIRK_DRIVER_INFO {                      
1132                 .vendor_name = "EDIROL",         
1133                 .product_name = "UA-4FX",        
1134                 QUIRK_DATA_COMPOSITE {           
1135                         { QUIRK_DATA_EDIROL_U    
1136                         { QUIRK_DATA_EDIROL_U    
1137                         { QUIRK_DATA_EDIROL_U    
1138                         QUIRK_COMPOSITE_END      
1139                 }                                
1140         }                                        
1141 },                                               
1142 {                                                
1143         /* Edirol M-16DX */                      
1144         USB_DEVICE(0x0582, 0x00c4),              
1145         QUIRK_DRIVER_INFO {                      
1146                 QUIRK_DATA_COMPOSITE {           
1147                         { QUIRK_DATA_STANDARD    
1148                         { QUIRK_DATA_STANDARD    
1149                         {                        
1150                                 QUIRK_DATA_MI    
1151                                         .out_    
1152                                         .in_c    
1153                                 }                
1154                         },                       
1155                         QUIRK_COMPOSITE_END      
1156                 }                                
1157         }                                        
1158 },                                               
1159 {                                                
1160         /* Advanced modes of the Edirol UA-25    
1161          * For the standard mode, UA-25EX has    
1162          * offers only 16-bit PCM at 44.1 kHz    
1163          */                                      
1164         USB_DEVICE_VENDOR_SPEC(0x0582, 0x00e6    
1165         QUIRK_DRIVER_INFO {                      
1166                 .vendor_name = "EDIROL",         
1167                 .product_name = "UA-25EX",       
1168                 QUIRK_DATA_COMPOSITE {           
1169                         { QUIRK_DATA_EDIROL_U    
1170                         { QUIRK_DATA_EDIROL_U    
1171                         { QUIRK_DATA_EDIROL_U    
1172                         QUIRK_COMPOSITE_END      
1173                 }                                
1174         }                                        
1175 },                                               
1176 {                                                
1177         /* Edirol UM-3G */                       
1178         USB_DEVICE_VENDOR_SPEC(0x0582, 0x0108    
1179         QUIRK_DRIVER_INFO {                      
1180                 QUIRK_DATA_MIDI_FIXED_ENDPOIN    
1181                         .out_cables = 0x0007,    
1182                         .in_cables  = 0x0007     
1183                 }                                
1184         }                                        
1185 },                                               
1186 {                                                
1187         /* BOSS ME-25 */                         
1188         USB_DEVICE(0x0582, 0x0113),              
1189         QUIRK_DRIVER_INFO {                      
1190                 QUIRK_DATA_COMPOSITE {           
1191                         { QUIRK_DATA_STANDARD    
1192                         { QUIRK_DATA_STANDARD    
1193                         {                        
1194                                 QUIRK_DATA_MI    
1195                                         .out_    
1196                                         .in_c    
1197                                 }                
1198                         },                       
1199                         QUIRK_COMPOSITE_END      
1200                 }                                
1201         }                                        
1202 },                                               
1203 {                                                
1204         /* only 44.1 kHz works at the moment     
1205         USB_DEVICE(0x0582, 0x0120),              
1206         QUIRK_DRIVER_INFO {                      
1207                 /* .vendor_name = "Roland", *    
1208                 /* .product_name = "OCTO-CAPT    
1209                 QUIRK_DATA_COMPOSITE {           
1210                         {                        
1211                                 QUIRK_DATA_AU    
1212                                         .form    
1213                                         .chan    
1214                                         .ifac    
1215                                         .alts    
1216                                         .alts    
1217                                         .endp    
1218                                         .ep_a    
1219                                         .rate    
1220                                         .rate    
1221                                         .rate    
1222                                         .nr_r    
1223                                         .rate    
1224                                 }                
1225                         },                       
1226                         {                        
1227                                 QUIRK_DATA_AU    
1228                                         .form    
1229                                         .chan    
1230                                         .ifac    
1231                                         .alts    
1232                                         .alts    
1233                                         .endp    
1234                                         .ep_a    
1235                                         .rate    
1236                                         .rate    
1237                                         .rate    
1238                                         .nr_r    
1239                                         .rate    
1240                                 }                
1241                         },                       
1242                         {                        
1243                                 QUIRK_DATA_MI    
1244                                         .out_    
1245                                         .in_c    
1246                                 }                
1247                         },                       
1248                         { QUIRK_DATA_IGNORE(3    
1249                         { QUIRK_DATA_IGNORE(4    
1250                         QUIRK_COMPOSITE_END      
1251                 }                                
1252         }                                        
1253 },                                               
1254 {                                                
1255         /* only 44.1 kHz works at the moment     
1256         USB_DEVICE(0x0582, 0x012f),              
1257         QUIRK_DRIVER_INFO {                      
1258                 /* .vendor_name = "Roland", *    
1259                 /* .product_name = "QUAD-CAPT    
1260                 QUIRK_DATA_COMPOSITE {           
1261                         {                        
1262                                 QUIRK_DATA_AU    
1263                                         .form    
1264                                         .chan    
1265                                         .ifac    
1266                                         .alts    
1267                                         .alts    
1268                                         .endp    
1269                                         .ep_a    
1270                                         .rate    
1271                                         .rate    
1272                                         .rate    
1273                                         .nr_r    
1274                                         .rate    
1275                                 }                
1276                         },                       
1277                         {                        
1278                                 QUIRK_DATA_AU    
1279                                         .form    
1280                                         .chan    
1281                                         .ifac    
1282                                         .alts    
1283                                         .alts    
1284                                         .endp    
1285                                         .ep_a    
1286                                         .rate    
1287                                         .rate    
1288                                         .rate    
1289                                         .nr_r    
1290                                         .rate    
1291                                 }                
1292                         },                       
1293                         {                        
1294                                 QUIRK_DATA_MI    
1295                                         .out_    
1296                                         .in_c    
1297                                 }                
1298                         },                       
1299                         { QUIRK_DATA_IGNORE(3    
1300                         { QUIRK_DATA_IGNORE(4    
1301                         QUIRK_COMPOSITE_END      
1302                 }                                
1303         }                                        
1304 },                                               
1305 {                                                
1306         USB_DEVICE(0x0582, 0x0159),              
1307         QUIRK_DRIVER_INFO {                      
1308                 /* .vendor_name = "Roland", *    
1309                 /* .product_name = "UA-22", *    
1310                 QUIRK_DATA_COMPOSITE {           
1311                         { QUIRK_DATA_STANDARD    
1312                         { QUIRK_DATA_STANDARD    
1313                         {                        
1314                                 QUIRK_DATA_MI    
1315                                         .out_    
1316                                         .in_c    
1317                                 }                
1318                         },                       
1319                         QUIRK_COMPOSITE_END      
1320                 }                                
1321         }                                        
1322 },                                               
1323                                                  
1324 /* UA101 and co are supported by another driv    
1325 {                                                
1326         USB_DEVICE(0x0582, 0x0044), /* UA-100    
1327         QUIRK_DRIVER_INFO {                      
1328                 .ifnum = QUIRK_NODEV_INTERFAC    
1329         },                                       
1330 },                                               
1331 {                                                
1332         USB_DEVICE(0x0582, 0x007d), /* UA-101    
1333         QUIRK_DRIVER_INFO {                      
1334                 .ifnum = QUIRK_NODEV_INTERFAC    
1335         },                                       
1336 },                                               
1337 {                                                
1338         USB_DEVICE(0x0582, 0x008d), /* UA-101    
1339         QUIRK_DRIVER_INFO {                      
1340                 .ifnum = QUIRK_NODEV_INTERFAC    
1341         },                                       
1342 },                                               
1343                                                  
1344 /* this catches most recent vendor-specific R    
1345 {                                                
1346         .match_flags = USB_DEVICE_ID_MATCH_VE    
1347                        USB_DEVICE_ID_MATCH_IN    
1348         .idVendor = 0x0582,                      
1349         .bInterfaceClass = USB_CLASS_VENDOR_S    
1350         QUIRK_DRIVER_INFO {                      
1351                 .ifnum = QUIRK_ANY_INTERFACE,    
1352                 .type = QUIRK_AUTODETECT         
1353         }                                        
1354 },                                               
1355                                                  
1356 /* Guillemot devices */                          
1357 {                                                
1358         /*                                       
1359          * This is for the "Windows Edition"     
1360          * the only MIDI ports; the control d    
1361          * interfaces.  The "Macintosh Editio    
1362          * compliant USB MIDI ports for exter    
1363          */                                      
1364         USB_DEVICE_VENDOR_SPEC(0x06f8, 0xb000    
1365         QUIRK_DRIVER_INFO {                      
1366                 .vendor_name = "Hercules",       
1367                 .product_name = "DJ Console (    
1368                 QUIRK_DATA_MIDI_FIXED_ENDPOIN    
1369                         .out_cables = 0x0001,    
1370                         .in_cables = 0x0001      
1371                 }                                
1372         }                                        
1373 },                                               
1374                                                  
1375 /* Midiman/M-Audio devices */                    
1376 {                                                
1377         USB_DEVICE_VENDOR_SPEC(0x0763, 0x1002    
1378         QUIRK_DRIVER_INFO {                      
1379                 .vendor_name = "M-Audio",        
1380                 .product_name = "MidiSport 2x    
1381                 QUIRK_DATA_MIDI_MIDIMAN(QUIRK    
1382                         .out_cables = 0x0003,    
1383                         .in_cables  = 0x0003     
1384                 }                                
1385         }                                        
1386 },                                               
1387 {                                                
1388         USB_DEVICE_VENDOR_SPEC(0x0763, 0x1011    
1389         QUIRK_DRIVER_INFO {                      
1390                 .vendor_name = "M-Audio",        
1391                 .product_name = "MidiSport 1x    
1392                 QUIRK_DATA_MIDI_MIDIMAN(QUIRK    
1393                         .out_cables = 0x0001,    
1394                         .in_cables  = 0x0001     
1395                 }                                
1396         }                                        
1397 },                                               
1398 {                                                
1399         USB_DEVICE_VENDOR_SPEC(0x0763, 0x1015    
1400         QUIRK_DRIVER_INFO {                      
1401                 .vendor_name = "M-Audio",        
1402                 .product_name = "Keystation",    
1403                 QUIRK_DATA_MIDI_MIDIMAN(QUIRK    
1404                         .out_cables = 0x0001,    
1405                         .in_cables  = 0x0001     
1406                 }                                
1407         }                                        
1408 },                                               
1409 {                                                
1410         USB_DEVICE_VENDOR_SPEC(0x0763, 0x1021    
1411         QUIRK_DRIVER_INFO {                      
1412                 .vendor_name = "M-Audio",        
1413                 .product_name = "MidiSport 4x    
1414                 QUIRK_DATA_MIDI_MIDIMAN(QUIRK    
1415                         .out_cables = 0x000f,    
1416                         .in_cables  = 0x000f     
1417                 }                                
1418         }                                        
1419 },                                               
1420 {                                                
1421         /*                                       
1422          * For hardware revision 1.05; in the    
1423          * 1.21), 0x1031 is the ID for the de    
1424          * Thanks to Olaf Giesbrecht <Olaf_Gi    
1425          */                                      
1426         USB_DEVICE_VER(0x0763, 0x1031, 0x0100    
1427         QUIRK_DRIVER_INFO {                      
1428                 .vendor_name = "M-Audio",        
1429                 .product_name = "MidiSport 8x    
1430                 QUIRK_DATA_MIDI_MIDIMAN(QUIRK    
1431                         .out_cables = 0x01ff,    
1432                         .in_cables  = 0x01ff     
1433                 }                                
1434         }                                        
1435 },                                               
1436 {                                                
1437         USB_DEVICE_VENDOR_SPEC(0x0763, 0x1033    
1438         QUIRK_DRIVER_INFO {                      
1439                 .vendor_name = "M-Audio",        
1440                 .product_name = "MidiSport 8x    
1441                 QUIRK_DATA_MIDI_MIDIMAN(QUIRK    
1442                         .out_cables = 0x01ff,    
1443                         .in_cables  = 0x01ff     
1444                 }                                
1445         }                                        
1446 },                                               
1447 {                                                
1448         USB_DEVICE_VENDOR_SPEC(0x0763, 0x1041    
1449         QUIRK_DRIVER_INFO {                      
1450                 .vendor_name = "M-Audio",        
1451                 .product_name = "MidiSport 2x    
1452                 QUIRK_DATA_MIDI_MIDIMAN(QUIRK    
1453                         .out_cables = 0x000f,    
1454                         .in_cables  = 0x0003     
1455                 }                                
1456         }                                        
1457 },                                               
1458 {                                                
1459         USB_DEVICE_VENDOR_SPEC(0x0763, 0x2001    
1460         QUIRK_DRIVER_INFO {                      
1461                 .vendor_name = "M-Audio",        
1462                 .product_name = "Quattro",       
1463                 QUIRK_DATA_COMPOSITE {           
1464                         /*                       
1465                          * Interfaces 0-2 are    
1466                          * and share endpoint    
1467                          * Ignore them.  The     
1468                          * but captured sampl    
1469                          */                      
1470                         { QUIRK_DATA_IGNORE(0    
1471                         { QUIRK_DATA_IGNORE(1    
1472                         { QUIRK_DATA_IGNORE(2    
1473                         { QUIRK_DATA_IGNORE(3    
1474                         { QUIRK_DATA_STANDARD    
1475                         { QUIRK_DATA_STANDARD    
1476                         { QUIRK_DATA_IGNORE(6    
1477                         { QUIRK_DATA_STANDARD    
1478                         { QUIRK_DATA_STANDARD    
1479                         {                        
1480                                 QUIRK_DATA_MI    
1481                                         .out_    
1482                                         .in_c    
1483                                 }                
1484                         },                       
1485                         QUIRK_COMPOSITE_END      
1486                 }                                
1487         }                                        
1488 },                                               
1489 {                                                
1490         USB_DEVICE_VENDOR_SPEC(0x0763, 0x2003    
1491         QUIRK_DRIVER_INFO {                      
1492                 .vendor_name = "M-Audio",        
1493                 .product_name = "AudioPhile",    
1494                 QUIRK_DATA_MIDI_MIDIMAN(6) {     
1495                         .out_cables = 0x0001,    
1496                         .in_cables  = 0x0001     
1497                 }                                
1498         }                                        
1499 },                                               
1500 {                                                
1501         USB_DEVICE_VENDOR_SPEC(0x0763, 0x2008    
1502         QUIRK_DRIVER_INFO {                      
1503                 .vendor_name = "M-Audio",        
1504                 .product_name = "Ozone",         
1505                 QUIRK_DATA_MIDI_MIDIMAN(3) {     
1506                         .out_cables = 0x0001,    
1507                         .in_cables  = 0x0001     
1508                 }                                
1509         }                                        
1510 },                                               
1511 {                                                
1512         USB_DEVICE_VENDOR_SPEC(0x0763, 0x200d    
1513         QUIRK_DRIVER_INFO {                      
1514                 .vendor_name = "M-Audio",        
1515                 .product_name = "OmniStudio",    
1516                 QUIRK_DATA_COMPOSITE {           
1517                         { QUIRK_DATA_IGNORE(0    
1518                         { QUIRK_DATA_IGNORE(1    
1519                         { QUIRK_DATA_IGNORE(2    
1520                         { QUIRK_DATA_IGNORE(3    
1521                         { QUIRK_DATA_STANDARD    
1522                         { QUIRK_DATA_STANDARD    
1523                         { QUIRK_DATA_IGNORE(6    
1524                         { QUIRK_DATA_STANDARD    
1525                         { QUIRK_DATA_STANDARD    
1526                         {                        
1527                                 QUIRK_DATA_MI    
1528                                         .out_    
1529                                         .in_c    
1530                                 }                
1531                         },                       
1532                         QUIRK_COMPOSITE_END      
1533                 }                                
1534         }                                        
1535 },                                               
1536 {                                                
1537         USB_DEVICE(0x0763, 0x2019),              
1538         QUIRK_DRIVER_INFO {                      
1539                 /* .vendor_name = "M-Audio",     
1540                 /* .product_name = "Ozone Aca    
1541                 QUIRK_DATA_COMPOSITE {           
1542                         { QUIRK_DATA_STANDARD    
1543                         { QUIRK_DATA_STANDARD    
1544                         { QUIRK_DATA_STANDARD    
1545                         {                        
1546                                 QUIRK_DATA_MI    
1547                                         .out_    
1548                                         .in_c    
1549                                 }                
1550                         },                       
1551                         QUIRK_COMPOSITE_END      
1552                 }                                
1553         }                                        
1554 },                                               
1555 {                                                
1556         /* M-Audio Micro */                      
1557         USB_DEVICE_VENDOR_SPEC(0x0763, 0x201a    
1558 },                                               
1559 {                                                
1560         USB_DEVICE_VENDOR_SPEC(0x0763, 0x2030    
1561         QUIRK_DRIVER_INFO {                      
1562                 /* .vendor_name = "M-Audio",     
1563                 /* .product_name = "Fast Trac    
1564                 QUIRK_DATA_COMPOSITE {           
1565                         { QUIRK_DATA_STANDARD    
1566                         /* Playback */           
1567                         {                        
1568                                 QUIRK_DATA_AU    
1569                                         .form    
1570                                         .chan    
1571                                         .ifac    
1572                                         .alts    
1573                                         .alts    
1574                                         .attr    
1575                                         .endp    
1576                                         .ep_a    
1577                                         .rate    
1578                                                  
1579                                                  
1580                                                  
1581                                         .rate    
1582                                         .rate    
1583                                         .nr_r    
1584                                         .rate    
1585                                                  
1586                                         },       
1587                                         .cloc    
1588                                 }                
1589                         },                       
1590                         /* Capture */            
1591                         {                        
1592                                 QUIRK_DATA_AU    
1593                                         .form    
1594                                         .chan    
1595                                         .ifac    
1596                                         .alts    
1597                                         .alts    
1598                                         .attr    
1599                                         .endp    
1600                                         .ep_a    
1601                                         .rate    
1602                                                  
1603                                                  
1604                                                  
1605                                         .rate    
1606                                         .rate    
1607                                         .nr_r    
1608                                         .rate    
1609                                                  
1610                                         },       
1611                                         .cloc    
1612                                 }                
1613                         },                       
1614                         /* MIDI: Interface =     
1615                         QUIRK_COMPOSITE_END      
1616                 }                                
1617         }                                        
1618 },                                               
1619 {                                                
1620         USB_DEVICE_VENDOR_SPEC(0x0763, 0x2031    
1621         QUIRK_DRIVER_INFO {                      
1622                 /* .vendor_name = "M-Audio",     
1623                 /* .product_name = "Fast Trac    
1624                 QUIRK_DATA_COMPOSITE {           
1625                         { QUIRK_DATA_STANDARD    
1626                         /* Playback */           
1627                         {                        
1628                                 QUIRK_DATA_AU    
1629                                         .form    
1630                                         .chan    
1631                                         .ifac    
1632                                         .alts    
1633                                         .alts    
1634                                         .attr    
1635                                         .endp    
1636                                         .ep_a    
1637                                         .rate    
1638                                                  
1639                                                  
1640                                                  
1641                                         .rate    
1642                                         .rate    
1643                                         .nr_r    
1644                                         .rate    
1645                                                  
1646                                         },       
1647                                         .cloc    
1648                                 }                
1649                         },                       
1650                         /* Capture */            
1651                         {                        
1652                                 QUIRK_DATA_AU    
1653                                         .form    
1654                                         .chan    
1655                                         .ifac    
1656                                         .alts    
1657                                         .alts    
1658                                         .attr    
1659                                         .endp    
1660                                         .ep_a    
1661                                         .rate    
1662                                                  
1663                                                  
1664                                                  
1665                                         .rate    
1666                                         .rate    
1667                                         .nr_r    
1668                                         .rate    
1669                                                  
1670                                         },       
1671                                         .cloc    
1672                                 }                
1673                         },                       
1674                         /* MIDI: Interface =     
1675                         QUIRK_COMPOSITE_END      
1676                 }                                
1677         }                                        
1678 },                                               
1679 {                                                
1680         USB_DEVICE_VENDOR_SPEC(0x0763, 0x2080    
1681         QUIRK_DRIVER_INFO {                      
1682                 /* .vendor_name = "M-Audio",     
1683                 /* .product_name = "Fast Trac    
1684                 QUIRK_DATA_COMPOSITE {           
1685                         { QUIRK_DATA_STANDARD    
1686                         {                        
1687                                 QUIRK_DATA_AU    
1688                                         .form    
1689                                         .chan    
1690                                         .ifac    
1691                                         .alts    
1692                                         .alts    
1693                                         .attr    
1694                                         .endp    
1695                                         .ep_a    
1696                                         .rate    
1697                                                  
1698                                                  
1699                                                  
1700                                         .rate    
1701                                         .rate    
1702                                         .nr_r    
1703                                         .rate    
1704                                                  
1705                                         }        
1706                                 }                
1707                         },                       
1708                         {                        
1709                                 QUIRK_DATA_AU    
1710                                         .form    
1711                                         .chan    
1712                                         .ifac    
1713                                         .alts    
1714                                         .alts    
1715                                         .attr    
1716                                         .endp    
1717                                         .ep_a    
1718                                         .rate    
1719                                                  
1720                                                  
1721                                                  
1722                                         .rate    
1723                                         .rate    
1724                                         .nr_r    
1725                                         .rate    
1726                                                  
1727                                         }        
1728                                 }                
1729                         },                       
1730                         /* interface 3 (MIDI)    
1731                         QUIRK_COMPOSITE_END      
1732                 }                                
1733         }                                        
1734 },                                               
1735 {                                                
1736         USB_DEVICE_VENDOR_SPEC(0x0763, 0x2081    
1737         QUIRK_DRIVER_INFO {                      
1738                 /* .vendor_name = "M-Audio",     
1739                 /* .product_name = "Fast Trac    
1740                 QUIRK_DATA_COMPOSITE {           
1741                         { QUIRK_DATA_STANDARD    
1742                         {                        
1743                                 QUIRK_DATA_AU    
1744                                         .form    
1745                                         .chan    
1746                                         .ifac    
1747                                         .alts    
1748                                         .alts    
1749                                         .attr    
1750                                         .endp    
1751                                         .ep_a    
1752                                         .rate    
1753                                                  
1754                                                  
1755                                                  
1756                                         .rate    
1757                                         .rate    
1758                                         .nr_r    
1759                                         .rate    
1760                                                  
1761                                         }        
1762                                 }                
1763                         },                       
1764                         {                        
1765                                 QUIRK_DATA_AU    
1766                                         .form    
1767                                         .chan    
1768                                         .ifac    
1769                                         .alts    
1770                                         .alts    
1771                                         .attr    
1772                                         .endp    
1773                                         .ep_a    
1774                                         .rate    
1775                                                  
1776                                                  
1777                                                  
1778                                         .rate    
1779                                         .rate    
1780                                         .nr_r    
1781                                         .rate    
1782                                                  
1783                                         }        
1784                                 }                
1785                         },                       
1786                         /* interface 3 (MIDI)    
1787                         QUIRK_COMPOSITE_END      
1788                 }                                
1789         }                                        
1790 },                                               
1791                                                  
1792 /* Casio devices */                              
1793 {                                                
1794         USB_DEVICE(0x07cf, 0x6801),              
1795         QUIRK_DRIVER_INFO {                      
1796                 .vendor_name = "Casio",          
1797                 .product_name = "PL-40R",        
1798                 QUIRK_DATA_MIDI_YAMAHA(0)        
1799         }                                        
1800 },                                               
1801 {                                                
1802         /* this ID is used by several devices    
1803         USB_DEVICE(0x07cf, 0x6802),              
1804         QUIRK_DRIVER_INFO {                      
1805                 .vendor_name = "Casio",          
1806                 .product_name = "Keyboard",      
1807                 QUIRK_DATA_MIDI_YAMAHA(0)        
1808         }                                        
1809 },                                               
1810                                                  
1811 /* Mark of the Unicorn devices */                
1812 {                                                
1813         /* thanks to Robert A. Lerche <ral 'a    
1814         .match_flags = USB_DEVICE_ID_MATCH_VE    
1815                        USB_DEVICE_ID_MATCH_PR    
1816                        USB_DEVICE_ID_MATCH_DE    
1817         .idVendor = 0x07fd,                      
1818         .idProduct = 0x0001,                     
1819         .bDeviceSubClass = 2,                    
1820         QUIRK_DRIVER_INFO {                      
1821                 .vendor_name = "MOTU",           
1822                 .product_name = "Fastlane",      
1823                 QUIRK_DATA_COMPOSITE {           
1824                         { QUIRK_DATA_RAW_BYTE    
1825                         { QUIRK_DATA_IGNORE(1    
1826                         QUIRK_COMPOSITE_END      
1827                 }                                
1828         }                                        
1829 },                                               
1830                                                  
1831 /* Emagic devices */                             
1832 {                                                
1833         USB_DEVICE(0x086a, 0x0001),              
1834         QUIRK_DRIVER_INFO {                      
1835                 .vendor_name = "Emagic",         
1836                 .product_name = "Unitor8",       
1837                 QUIRK_DATA_MIDI_EMAGIC(2) {      
1838                         .out_cables = 0x80ff,    
1839                         .in_cables  = 0x80ff     
1840                 }                                
1841         }                                        
1842 },                                               
1843 {                                                
1844         USB_DEVICE(0x086a, 0x0002),              
1845         QUIRK_DRIVER_INFO {                      
1846                 .vendor_name = "Emagic",         
1847                 /* .product_name = "AMT8", */    
1848                 QUIRK_DATA_MIDI_EMAGIC(2) {      
1849                         .out_cables = 0x80ff,    
1850                         .in_cables  = 0x80ff     
1851                 }                                
1852         }                                        
1853 },                                               
1854 {                                                
1855         USB_DEVICE(0x086a, 0x0003),              
1856         QUIRK_DRIVER_INFO {                      
1857                 .vendor_name = "Emagic",         
1858                 /* .product_name = "MT4", */     
1859                 QUIRK_DATA_MIDI_EMAGIC(2) {      
1860                         .out_cables = 0x800f,    
1861                         .in_cables  = 0x8003     
1862                 }                                
1863         }                                        
1864 },                                               
1865                                                  
1866 /* KORG devices */                               
1867 {                                                
1868         USB_DEVICE_VENDOR_SPEC(0x0944, 0x0200    
1869         QUIRK_DRIVER_INFO {                      
1870                 .vendor_name = "KORG, Inc.",     
1871                 /* .product_name = "PANDORA P    
1872                 QUIRK_DATA_STANDARD_MIDI(3)      
1873         }                                        
1874 },                                               
1875                                                  
1876 {                                                
1877         USB_DEVICE_VENDOR_SPEC(0x0944, 0x0201    
1878         QUIRK_DRIVER_INFO {                      
1879                 .vendor_name = "KORG, Inc.",     
1880                 /* .product_name = "ToneLab S    
1881                 QUIRK_DATA_STANDARD_MIDI(3)      
1882         }                                        
1883 },                                               
1884                                                  
1885 {                                                
1886         USB_DEVICE_VENDOR_SPEC(0x0944, 0x0204    
1887         QUIRK_DRIVER_INFO {                      
1888                 .vendor_name = "KORG, Inc.",     
1889                 /* .product_name = "ToneLab E    
1890                 QUIRK_DATA_STANDARD_MIDI(3)      
1891         }                                        
1892 },                                               
1893                                                  
1894 /* AKAI devices */                               
1895 {                                                
1896         USB_DEVICE(0x09e8, 0x0062),              
1897         QUIRK_DRIVER_INFO {                      
1898                 .vendor_name = "AKAI",           
1899                 .product_name = "MPD16",         
1900                 .ifnum = 0,                      
1901                 .type = QUIRK_MIDI_AKAI,         
1902         }                                        
1903 },                                               
1904                                                  
1905 {                                                
1906         /* Akai MPC Element */                   
1907         USB_DEVICE(0x09e8, 0x0021),              
1908         QUIRK_DRIVER_INFO {                      
1909                 QUIRK_DATA_COMPOSITE {           
1910                         { QUIRK_DATA_IGNORE(0    
1911                         { QUIRK_DATA_STANDARD    
1912                         QUIRK_COMPOSITE_END      
1913                 }                                
1914         }                                        
1915 },                                               
1916                                                  
1917 /* Steinberg devices */                          
1918 {                                                
1919         /* Steinberg MI2 */                      
1920         USB_DEVICE_VENDOR_SPEC(0x0a4e, 0x2040    
1921         QUIRK_DRIVER_INFO {                      
1922                 QUIRK_DATA_COMPOSITE {           
1923                         { QUIRK_DATA_STANDARD    
1924                         { QUIRK_DATA_STANDARD    
1925                         { QUIRK_DATA_STANDARD    
1926                         {                        
1927                                 QUIRK_DATA_MI    
1928                                         .out_    
1929                                         .in_c    
1930                                 }                
1931                         },                       
1932                         QUIRK_COMPOSITE_END      
1933                 }                                
1934         }                                        
1935 },                                               
1936 {                                                
1937         /* Steinberg MI4 */                      
1938         USB_DEVICE_VENDOR_SPEC(0x0a4e, 0x4040    
1939         QUIRK_DRIVER_INFO {                      
1940                 QUIRK_DATA_COMPOSITE {           
1941                         { QUIRK_DATA_STANDARD    
1942                         { QUIRK_DATA_STANDARD    
1943                         { QUIRK_DATA_STANDARD    
1944                         {                        
1945                                 QUIRK_DATA_MI    
1946                                         .out_    
1947                                         .in_c    
1948                                 }                
1949                         },                       
1950                         QUIRK_COMPOSITE_END      
1951                 }                                
1952         }                                        
1953 },                                               
1954                                                  
1955 /* TerraTec devices */                           
1956 {                                                
1957         USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0012    
1958         QUIRK_DRIVER_INFO {                      
1959                 .vendor_name = "TerraTec",       
1960                 .product_name = "PHASE 26",      
1961                 QUIRK_DATA_STANDARD_MIDI(3)      
1962         }                                        
1963 },                                               
1964 {                                                
1965         USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0013    
1966         QUIRK_DRIVER_INFO {                      
1967                 .vendor_name = "TerraTec",       
1968                 .product_name = "PHASE 26",      
1969                 QUIRK_DATA_STANDARD_MIDI(3)      
1970         }                                        
1971 },                                               
1972 {                                                
1973         USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0014    
1974         QUIRK_DRIVER_INFO {                      
1975                 .vendor_name = "TerraTec",       
1976                 .product_name = "PHASE 26",      
1977                 QUIRK_DATA_STANDARD_MIDI(3)      
1978         }                                        
1979 },                                               
1980 {                                                
1981         USB_DEVICE(0x0ccd, 0x0035),              
1982         QUIRK_DRIVER_INFO {                      
1983                 .vendor_name = "Miditech",       
1984                 .product_name = "Play'n Roll"    
1985                 .ifnum = 0,                      
1986                 .type = QUIRK_MIDI_CME           
1987         }                                        
1988 },                                               
1989                                                  
1990 /* Stanton ScratchAmp */                         
1991 { USB_DEVICE(0x103d, 0x0100) },                  
1992 { USB_DEVICE(0x103d, 0x0101) },                  
1993                                                  
1994 /* Novation EMS devices */                       
1995 {                                                
1996         USB_DEVICE_VENDOR_SPEC(0x1235, 0x0001    
1997         QUIRK_DRIVER_INFO {                      
1998                 .vendor_name = "Novation",       
1999                 .product_name = "ReMOTE Audio    
2000                 .ifnum = 4,                      
2001                 .type = QUIRK_MIDI_NOVATION      
2002         }                                        
2003 },                                               
2004 {                                                
2005         USB_DEVICE_VENDOR_SPEC(0x1235, 0x0002    
2006         QUIRK_DRIVER_INFO {                      
2007                 .vendor_name = "Novation",       
2008                 .product_name = "Speedio",       
2009                 .ifnum = 3,                      
2010                 .type = QUIRK_MIDI_NOVATION      
2011         }                                        
2012 },                                               
2013 {                                                
2014         USB_DEVICE(0x1235, 0x000a),              
2015         QUIRK_DRIVER_INFO {                      
2016                 /* .vendor_name = "Novation",    
2017                 /* .product_name = "Nocturn",    
2018                 QUIRK_DATA_RAW_BYTES(0)          
2019         }                                        
2020 },                                               
2021 {                                                
2022         USB_DEVICE(0x1235, 0x000e),              
2023         QUIRK_DRIVER_INFO {                      
2024                 /* .vendor_name = "Novation",    
2025                 /* .product_name = "Launchpad    
2026                 QUIRK_DATA_RAW_BYTES(0)          
2027         }                                        
2028 },                                               
2029 {                                                
2030         USB_DEVICE(0x1235, 0x0010),              
2031         QUIRK_DRIVER_INFO {                      
2032                 .vendor_name = "Focusrite",      
2033                 .product_name = "Saffire 6 US    
2034                 QUIRK_DATA_COMPOSITE {           
2035                         { QUIRK_DATA_STANDARD    
2036                         {                        
2037                                 QUIRK_DATA_AU    
2038                                         .form    
2039                                         .chan    
2040                                         .ifac    
2041                                         .alts    
2042                                         .alts    
2043                                         .attr    
2044                                         .endp    
2045                                         .ep_a    
2046                                         .data    
2047                                         .maxp    
2048                                         .rate    
2049                                                  
2050                                         .rate    
2051                                         .rate    
2052                                         .nr_r    
2053                                         .rate    
2054                                                  
2055                                         },       
2056                                         .sync    
2057                                         .sync    
2058                                         .sync    
2059                                         .sync    
2060                                         .impl    
2061                                 }                
2062                         },                       
2063                         {                        
2064                                 QUIRK_DATA_AU    
2065                                         .form    
2066                                         .chan    
2067                                         .ifac    
2068                                         .alts    
2069                                         .alts    
2070                                         .attr    
2071                                         .endp    
2072                                         .ep_i    
2073                                         .ep_a    
2074                                         .data    
2075                                         .maxp    
2076                                         .rate    
2077                                                  
2078                                         .rate    
2079                                         .rate    
2080                                         .nr_r    
2081                                         .rate    
2082                                                  
2083                                         }        
2084                                 }                
2085                         },                       
2086                         { QUIRK_DATA_RAW_BYTE    
2087                         QUIRK_COMPOSITE_END      
2088                 }                                
2089         }                                        
2090 },                                               
2091 {                                                
2092         USB_DEVICE(0x1235, 0x0018),              
2093         QUIRK_DRIVER_INFO {                      
2094                 .vendor_name = "Novation",       
2095                 .product_name = "Twitch",        
2096                 QUIRK_DATA_COMPOSITE {           
2097                         {                        
2098                                 QUIRK_DATA_AU    
2099                                         .form    
2100                                         .chan    
2101                                         .ifac    
2102                                         .alts    
2103                                         .alts    
2104                                         .attr    
2105                                         .endp    
2106                                         .ep_a    
2107                                         .rate    
2108                                                  
2109                                         .rate    
2110                                         .rate    
2111                                         .nr_r    
2112                                         .rate    
2113                                                  
2114                                         }        
2115                                 }                
2116                         },                       
2117                         { QUIRK_DATA_RAW_BYTE    
2118                         QUIRK_COMPOSITE_END      
2119                 }                                
2120         }                                        
2121 },                                               
2122 {                                                
2123         USB_DEVICE_VENDOR_SPEC(0x1235, 0x4661    
2124         QUIRK_DRIVER_INFO {                      
2125                 .vendor_name = "Novation",       
2126                 .product_name = "ReMOTE25",      
2127                 .ifnum = 0,                      
2128                 .type = QUIRK_MIDI_NOVATION      
2129         }                                        
2130 },                                               
2131                                                  
2132 /* Access Music devices */                       
2133 {                                                
2134         /* VirusTI Desktop */                    
2135         USB_DEVICE_VENDOR_SPEC(0x133e, 0x0815    
2136         QUIRK_DRIVER_INFO {                      
2137                 QUIRK_DATA_COMPOSITE {           
2138                         {                        
2139                                 QUIRK_DATA_MI    
2140                                         .out_    
2141                                         .in_c    
2142                                 }                
2143                         },                       
2144                         { QUIRK_DATA_IGNORE(4    
2145                         QUIRK_COMPOSITE_END      
2146                 }                                
2147         }                                        
2148 },                                               
2149                                                  
2150 /* Native Instruments MK2 series */              
2151 {                                                
2152         /* Komplete Audio 6 */                   
2153         .match_flags = USB_DEVICE_ID_MATCH_DE    
2154         .idVendor = 0x17cc,                      
2155         .idProduct = 0x1000,                     
2156 },                                               
2157 {                                                
2158         /* Traktor Audio 6 */                    
2159         .match_flags = USB_DEVICE_ID_MATCH_DE    
2160         .idVendor = 0x17cc,                      
2161         .idProduct = 0x1010,                     
2162 },                                               
2163 {                                                
2164         /* Traktor Audio 10 */                   
2165         .match_flags = USB_DEVICE_ID_MATCH_DE    
2166         .idVendor = 0x17cc,                      
2167         .idProduct = 0x1020,                     
2168 },                                               
2169                                                  
2170 /* QinHeng devices */                            
2171 {                                                
2172         USB_DEVICE(0x1a86, 0x752d),              
2173         QUIRK_DRIVER_INFO {                      
2174                 .vendor_name = "QinHeng",        
2175                 .product_name = "CH345",         
2176                 .ifnum = 1,                      
2177                 .type = QUIRK_MIDI_CH345         
2178         }                                        
2179 },                                               
2180                                                  
2181 /* KeithMcMillen Stringport */                   
2182 { USB_DEVICE(0x1f38, 0x0001) }, /* FIXME: sho    
2183                                                  
2184 /* Miditech devices */                           
2185 {                                                
2186         USB_DEVICE(0x4752, 0x0011),              
2187         QUIRK_DRIVER_INFO {                      
2188                 .vendor_name = "Miditech",       
2189                 .product_name = "Midistart-2"    
2190                 .ifnum = 0,                      
2191                 .type = QUIRK_MIDI_CME           
2192         }                                        
2193 },                                               
2194                                                  
2195 /* Central Music devices */                      
2196 {                                                
2197         /* this ID used by both Miditech Midi    
2198         USB_DEVICE(0x7104, 0x2202),              
2199         QUIRK_DRIVER_INFO {                      
2200                 .ifnum = 0,                      
2201                 .type = QUIRK_MIDI_CME           
2202         }                                        
2203 },                                               
2204                                                  
2205 /* Digidesign Mbox */                            
2206 {                                                
2207         /* Thanks to Clemens Ladisch <clemens    
2208         USB_DEVICE(0x0dba, 0x1000),              
2209         QUIRK_DRIVER_INFO {                      
2210                 .vendor_name = "Digidesign",     
2211                 .product_name = "MBox",          
2212                 QUIRK_DATA_COMPOSITE{            
2213                         { QUIRK_DATA_STANDARD    
2214                         {                        
2215                                 QUIRK_DATA_AU    
2216                                         .form    
2217                                         .chan    
2218                                         .ifac    
2219                                         .alts    
2220                                         .alts    
2221                                         .attr    
2222                                         .endp    
2223                                         .ep_a    
2224                                                  
2225                                         .maxp    
2226                                         .rate    
2227                                         .rate    
2228                                         .rate    
2229                                         .nr_r    
2230                                         .rate    
2231                                                  
2232                                         }        
2233                                 }                
2234                         },                       
2235                         {                        
2236                                 QUIRK_DATA_AU    
2237                                         .form    
2238                                         .chan    
2239                                         .ifac    
2240                                         .alts    
2241                                         .alts    
2242                                         .attr    
2243                                         .endp    
2244                                         .ep_i    
2245                                         .ep_a    
2246                                                  
2247                                         .maxp    
2248                                         .rate    
2249                                         .rate    
2250                                         .rate    
2251                                         .nr_r    
2252                                         .rate    
2253                                                  
2254                                         }        
2255                                 }                
2256                         },                       
2257                         QUIRK_COMPOSITE_END      
2258                 }                                
2259         }                                        
2260 },                                               
2261                                                  
2262 /* DIGIDESIGN MBOX 2 */                          
2263 {                                                
2264         USB_DEVICE(0x0dba, 0x3000),              
2265         QUIRK_DRIVER_INFO {                      
2266                 .vendor_name = "Digidesign",     
2267                 .product_name = "Mbox 2",        
2268                 QUIRK_DATA_COMPOSITE {           
2269                         { QUIRK_DATA_IGNORE(0    
2270                         { QUIRK_DATA_IGNORE(1    
2271                         {                        
2272                                 QUIRK_DATA_AU    
2273                                         .form    
2274                                         .chan    
2275                                         .ifac    
2276                                         .alts    
2277                                         .alts    
2278                                         .attr    
2279                                         .endp    
2280                                         .ep_a    
2281                                         .rate    
2282                                         .rate    
2283                                         .rate    
2284                                         .nr_r    
2285                                         .rate    
2286                                                  
2287                                         }        
2288                                 }                
2289                         },                       
2290                         { QUIRK_DATA_IGNORE(3    
2291                         {                        
2292                                 QUIRK_DATA_AU    
2293                                         .form    
2294                                         .chan    
2295                                         .ifac    
2296                                         .alts    
2297                                         .alts    
2298                                         .attr    
2299                                         .endp    
2300                                         .ep_a    
2301                                         .rate    
2302                                         .rate    
2303                                         .rate    
2304                                         .nr_r    
2305                                         .rate    
2306                                                  
2307                                         }        
2308                                 }                
2309                         },                       
2310                         { QUIRK_DATA_IGNORE(5    
2311                         {                        
2312                                 QUIRK_DATA_MI    
2313                                         .out_    
2314                                         .out_    
2315                                         .in_e    
2316                                         .in_i    
2317                                         .in_c    
2318                                 }                
2319                         },                       
2320                         QUIRK_COMPOSITE_END      
2321                 }                                
2322         }                                        
2323 },                                               
2324 /* DIGIDESIGN MBOX 3 */                          
2325 {                                                
2326         USB_DEVICE(0x0dba, 0x5000),              
2327         QUIRK_DRIVER_INFO {                      
2328                 .vendor_name = "Digidesign",     
2329                 .product_name = "Mbox 3",        
2330                 QUIRK_DATA_COMPOSITE {           
2331                         { QUIRK_DATA_IGNORE(0    
2332                         { QUIRK_DATA_IGNORE(1    
2333                         {                        
2334                                 QUIRK_DATA_AU    
2335                                         .form    
2336                                         .fmt_    
2337                                         .chan    
2338                                         .ifac    
2339                                         .alts    
2340                                         .alts    
2341                                         .attr    
2342                                         .endp    
2343                                         .ep_a    
2344                                                  
2345                                         .rate    
2346                                                  
2347                                         .rate    
2348                                         .rate    
2349                                         .nr_r    
2350                                         .rate    
2351                                                  
2352                                         },       
2353                                         .sync    
2354                                         .sync    
2355                                         .sync    
2356                                         .sync    
2357                                         .impl    
2358                                 }                
2359                         },                       
2360                         {                        
2361                                 QUIRK_DATA_AU    
2362                                         .form    
2363                                         .fmt_    
2364                                         .chan    
2365                                         .ifac    
2366                                         .alts    
2367                                         .alts    
2368                                         .attr    
2369                                         .endp    
2370                                         .ep_a    
2371                                                  
2372                                         .maxp    
2373                                         .rate    
2374                                                  
2375                                         .rate    
2376                                         .rate    
2377                                         .nr_r    
2378                                         .rate    
2379                                                  
2380                                         },       
2381                                         .impl    
2382                                 }                
2383                         },                       
2384                         {                        
2385                                 QUIRK_DATA_MI    
2386                                         .out_    
2387                                         .in_c    
2388                                 }                
2389                         },                       
2390                         QUIRK_COMPOSITE_END      
2391                 }                                
2392         }                                        
2393 },                                               
2394 {                                                
2395         /* Tascam US122 MKII - playback-only     
2396         USB_DEVICE_VENDOR_SPEC(0x0644, 0x8021    
2397         QUIRK_DRIVER_INFO {                      
2398                 .vendor_name = "TASCAM",         
2399                 .product_name = "US122 MKII",    
2400                 QUIRK_DATA_COMPOSITE {           
2401                         { QUIRK_DATA_IGNORE(0    
2402                         {                        
2403                                 QUIRK_DATA_AU    
2404                                         .form    
2405                                         .chan    
2406                                         .ifac    
2407                                         .alts    
2408                                         .alts    
2409                                         .attr    
2410                                         .endp    
2411                                         .ep_a    
2412                                         .rate    
2413                                                  
2414                                                  
2415                                                  
2416                                         .rate    
2417                                         .rate    
2418                                         .nr_r    
2419                                         .rate    
2420                                                  
2421                                         }        
2422                                 }                
2423                         },                       
2424                         QUIRK_COMPOSITE_END      
2425                 }                                
2426         }                                        
2427 },                                               
2428                                                  
2429 /* Denon DN-X1600 */                             
2430 {                                                
2431         USB_AUDIO_DEVICE(0x154e, 0x500e),        
2432         QUIRK_DRIVER_INFO {                      
2433                 .vendor_name = "Denon",          
2434                 .product_name = "DN-X1600",      
2435                 QUIRK_DATA_COMPOSITE{            
2436                         { QUIRK_DATA_IGNORE(0    
2437                         {                        
2438                                 QUIRK_DATA_AU    
2439                                         .form    
2440                                         .chan    
2441                                         .ifac    
2442                                         .alts    
2443                                         .alts    
2444                                         .attr    
2445                                         .endp    
2446                                         .ep_a    
2447                                                  
2448                                         .maxp    
2449                                         .rate    
2450                                         .rate    
2451                                         .rate    
2452                                         .nr_r    
2453                                         .rate    
2454                                                  
2455                                         }        
2456                                 }                
2457                         },                       
2458                         {                        
2459                                 QUIRK_DATA_AU    
2460                                         .form    
2461                                         .chan    
2462                                         .ifac    
2463                                         .alts    
2464                                         .alts    
2465                                         .attr    
2466                                         .endp    
2467                                         .ep_a    
2468                                                  
2469                                         .maxp    
2470                                         .rate    
2471                                         .rate    
2472                                         .rate    
2473                                         .nr_r    
2474                                         .rate    
2475                                                  
2476                                         }        
2477                                 }                
2478                         },                       
2479                         { QUIRK_DATA_STANDARD    
2480                         QUIRK_COMPOSITE_END      
2481                 }                                
2482         }                                        
2483 },                                               
2484                                                  
2485 /* Microsoft XboxLive Headset/Xbox Communicat    
2486 {                                                
2487         USB_DEVICE(0x045e, 0x0283),              
2488         .bInterfaceClass = USB_CLASS_PER_INTE    
2489         QUIRK_DRIVER_INFO {                      
2490                 .vendor_name = "Microsoft",      
2491                 .product_name = "XboxLive Hea    
2492                 QUIRK_DATA_COMPOSITE {           
2493                         {                        
2494                                 /* playback *    
2495                                 QUIRK_DATA_AU    
2496                                         .form    
2497                                         .chan    
2498                                         .ifac    
2499                                         .alts    
2500                                         .alts    
2501                                         .attr    
2502                                         .endp    
2503                                         .ep_a    
2504                                         .rate    
2505                                         .rate    
2506                                         .rate    
2507                                 }                
2508                         },                       
2509                         {                        
2510                                 /* capture */    
2511                                 QUIRK_DATA_AU    
2512                                         .form    
2513                                         .chan    
2514                                         .ifac    
2515                                         .alts    
2516                                         .alts    
2517                                         .attr    
2518                                         .endp    
2519                                         .ep_a    
2520                                         .rate    
2521                                         .rate    
2522                                         .rate    
2523                                 }                
2524                         },                       
2525                         QUIRK_COMPOSITE_END      
2526                 }                                
2527         }                                        
2528 },                                               
2529                                                  
2530 /* Reloop Play */                                
2531 {                                                
2532         USB_DEVICE(0x200c, 0x100b),              
2533         .bInterfaceClass = USB_CLASS_PER_INTE    
2534         QUIRK_DRIVER_INFO {                      
2535                 QUIRK_DATA_COMPOSITE {           
2536                         { QUIRK_DATA_STANDARD    
2537                         {                        
2538                                 QUIRK_DATA_AU    
2539                                         .form    
2540                                         .chan    
2541                                         .ifac    
2542                                         .alts    
2543                                         .alts    
2544                                         .attr    
2545                                         .endp    
2546                                         .ep_a    
2547                                         .rate    
2548                                                  
2549                                         .rate    
2550                                         .rate    
2551                                         .nr_r    
2552                                         .rate    
2553                                                  
2554                                         }        
2555                                 }                
2556                         },                       
2557                         QUIRK_COMPOSITE_END      
2558                 }                                
2559         }                                        
2560 },                                               
2561                                                  
2562 {                                                
2563         /*                                       
2564          * ZOOM R16/24 in audio interface mod    
2565          * Playback requires an extra four by    
2566          * at the start of each isochronous p    
2567          * enabled in create_standard_audio_q    
2568          */                                      
2569         USB_DEVICE(0x1686, 0x00dd),              
2570         QUIRK_DRIVER_INFO {                      
2571                 QUIRK_DATA_COMPOSITE {           
2572                         { QUIRK_DATA_STANDARD    
2573                         { QUIRK_DATA_STANDARD    
2574                         { QUIRK_DATA_STANDARD    
2575                         QUIRK_COMPOSITE_END      
2576                 }                                
2577         }                                        
2578 },                                               
2579                                                  
2580 {                                                
2581         /*                                       
2582          * Some USB MIDI devices don't have a    
2583          * so we have to grab MIDI streaming     
2584          */                                      
2585         .match_flags = USB_DEVICE_ID_MATCH_IN    
2586                        USB_DEVICE_ID_MATCH_IN    
2587         .bInterfaceClass = USB_CLASS_AUDIO,      
2588         .bInterfaceSubClass = USB_SUBCLASS_MI    
2589         QUIRK_DRIVER_INFO {                      
2590                 QUIRK_DATA_STANDARD_MIDI(QUIR    
2591         }                                        
2592 },                                               
2593                                                  
2594 /* Rane SL-1 */                                  
2595 {                                                
2596         USB_DEVICE(0x13e5, 0x0001),              
2597         QUIRK_DRIVER_INFO {                      
2598                 QUIRK_DATA_STANDARD_AUDIO(QUI    
2599         }                                        
2600 },                                               
2601                                                  
2602 /* disabled due to regression for other devic    
2603  * see https://bugzilla.kernel.org/show_bug.c    
2604  */                                              
2605 #if 0                                            
2606 {                                                
2607         /*                                       
2608          * Nura's first gen headphones use Ca    
2609          * ID, but it looks like the product     
2610          * The capture interface does not wor    
2611          * and only the 48 kHz sample rate wo    
2612          */                                      
2613         USB_DEVICE(0x0a12, 0x1243),              
2614         QUIRK_DRIVER_INFO {                      
2615                 QUIRK_DATA_COMPOSITE {           
2616                         { QUIRK_DATA_STANDARD    
2617                         { QUIRK_DATA_IGNORE(1    
2618                         /* Playback */           
2619                         {                        
2620                                 QUIRK_DATA_AU    
2621                                         .form    
2622                                         .chan    
2623                                         .ifac    
2624                                         .alts    
2625                                         .alts    
2626                                         .attr    
2627                                                  
2628                                         .endp    
2629                                         .ep_a    
2630                                         .rate    
2631                                         .rate    
2632                                         .rate    
2633                                         .nr_r    
2634                                         .rate    
2635                                                  
2636                                         }        
2637                                 }                
2638                         },                       
2639                         QUIRK_COMPOSITE_END      
2640                 }                                
2641         }                                        
2642 },                                               
2643 #endif /* disabled */                            
2644                                                  
2645 {                                                
2646         /*                                       
2647          * Bower's & Wilkins PX headphones on    
2648          * even though it advertises more. Th    
2649          * even on windows.                      
2650          */                                      
2651         USB_DEVICE(0x19b5, 0x0021),              
2652         QUIRK_DRIVER_INFO {                      
2653                 QUIRK_DATA_COMPOSITE {           
2654                         { QUIRK_DATA_STANDARD    
2655                         /* Playback */           
2656                         {                        
2657                                 QUIRK_DATA_AU    
2658                                         .form    
2659                                         .chan    
2660                                         .ifac    
2661                                         .alts    
2662                                         .alts    
2663                                         .attr    
2664                                                  
2665                                         .endp    
2666                                         .ep_a    
2667                                         .rate    
2668                                         .rate    
2669                                         .rate    
2670                                         .nr_r    
2671                                         .rate    
2672                                                  
2673                                         }        
2674                                 }                
2675                         },                       
2676                         QUIRK_COMPOSITE_END      
2677                 }                                
2678         }                                        
2679 },                                               
2680 /* MOTU Microbook II */                          
2681 {                                                
2682         USB_DEVICE_VENDOR_SPEC(0x07fd, 0x0004    
2683         QUIRK_DRIVER_INFO {                      
2684                 .vendor_name = "MOTU",           
2685                 .product_name = "MicroBookII"    
2686                 QUIRK_DATA_COMPOSITE {           
2687                         { QUIRK_DATA_STANDARD    
2688                         {                        
2689                                 QUIRK_DATA_AU    
2690                                         .form    
2691                                         .chan    
2692                                         .ifac    
2693                                         .alts    
2694                                         .alts    
2695                                         .attr    
2696                                         .endp    
2697                                         .rate    
2698                                         .ep_a    
2699                                                  
2700                                         .rate    
2701                                         .rate    
2702                                         .nr_r    
2703                                         .maxp    
2704                                         .rate    
2705                                                  
2706                                         }        
2707                                 }                
2708                         },                       
2709                         {                        
2710                                 QUIRK_DATA_AU    
2711                                         .form    
2712                                         .chan    
2713                                         .ifac    
2714                                         .alts    
2715                                         .alts    
2716                                         .attr    
2717                                         .endp    
2718                                         .ep_i    
2719                                         .rate    
2720                                         .ep_a    
2721                                                  
2722                                         .rate    
2723                                         .rate    
2724                                         .nr_r    
2725                                         .maxp    
2726                                         .rate    
2727                                                  
2728                                         }        
2729                                 }                
2730                         },                       
2731                         QUIRK_COMPOSITE_END      
2732                 }                                
2733         }                                        
2734 },                                               
2735 {                                                
2736         /*                                       
2737          * PIONEER DJ DDJ-SX3                    
2738          * PCM is 12 channels out, 10 channel    
2739          * interface 0, vendor class alt sett    
2740          * The feedback for the output is the    
2741          */                                      
2742         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x0023    
2743         QUIRK_DRIVER_INFO {                      
2744                 QUIRK_DATA_COMPOSITE {           
2745                         {                        
2746                                 QUIRK_DATA_AU    
2747                                         .form    
2748                                         .chan    
2749                                         .ifac    
2750                                         .alts    
2751                                         .alts    
2752                                         .endp    
2753                                         .ep_a    
2754                                                  
2755                                         .rate    
2756                                         .rate    
2757                                         .rate    
2758                                         .nr_r    
2759                                         .rate    
2760                                 }                
2761                         },                       
2762                         {                        
2763                                 QUIRK_DATA_AU    
2764                                         .form    
2765                                         .chan    
2766                                         .ifac    
2767                                         .alts    
2768                                         .alts    
2769                                         .endp    
2770                                         .ep_i    
2771                                         .ep_a    
2772                                                  
2773                                                  
2774                                         .rate    
2775                                         .rate    
2776                                         .rate    
2777                                         .nr_r    
2778                                         .rate    
2779                                 }                
2780                         },                       
2781                         QUIRK_COMPOSITE_END      
2782                 }                                
2783         }                                        
2784 },                                               
2785 {                                                
2786         /*                                       
2787          * Pioneer DJ DJM-250MK2                 
2788          * PCM is 8 channels out @ 48 fixed (    
2789          * and 8 channels in @ 48 fixed (endp    
2790          *                                       
2791          * Both playback and recording is wor    
2792          *                                       
2793          * Playback channels could be mapped     
2794          *  - CH1                                
2795          *  - CH2                                
2796          *  - AUX                                
2797          *                                       
2798          * Recording channels could be mapped    
2799          *  - Post CH1 Fader                     
2800          *  - Post CH2 Fader                     
2801          *  - Cross Fader A                      
2802          *  - Cross Fader B                      
2803          *  - MIC                                
2804          *  - AUX                                
2805          *  - REC OUT                            
2806          *                                       
2807          * There is remaining problem with re    
2808          * If we map a channel to:               
2809          *  - CH1 Control Tone PHONO             
2810          *  - CH1 Control Tone LINE              
2811          *  - CH2 Control Tone PHONO             
2812          *  - CH2 Control Tone LINE              
2813          * it is silent.                         
2814          * There is no signal even on other o    
2815          * The signal appears only when a sup    
2816          * This needs to be investigated yet.    
2817          * (there is quite a lot communicatio    
2818          *                                       
2819          * In current version this mixer coul    
2820          * and for recording from vinyls (thr    
2821          * but not for DVS (Digital Vinyl Sys    
2822          */                                      
2823         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x0017    
2824         QUIRK_DRIVER_INFO {                      
2825                 QUIRK_DATA_COMPOSITE {           
2826                         {                        
2827                                 QUIRK_DATA_AU    
2828                                         .form    
2829                                         .chan    
2830                                         .ifac    
2831                                         .alts    
2832                                         .alts    
2833                                         .endp    
2834                                         .ep_a    
2835                                                  
2836                                         .rate    
2837                                         .rate    
2838                                         .rate    
2839                                         .nr_r    
2840                                         .rate    
2841                                         }        
2842                         },                       
2843                         {                        
2844                                 QUIRK_DATA_AU    
2845                                         .form    
2846                                         .chan    
2847                                         .ifac    
2848                                         .alts    
2849                                         .alts    
2850                                         .endp    
2851                                         .ep_i    
2852                                         .ep_a    
2853                                                  
2854                                                  
2855                                         .rate    
2856                                         .rate    
2857                                         .rate    
2858                                         .nr_r    
2859                                         .rate    
2860                                 }                
2861                         },                       
2862                         QUIRK_COMPOSITE_END      
2863                 }                                
2864         }                                        
2865 },                                               
2866 {                                                
2867         /*                                       
2868          * PIONEER DJ DDJ-RB                     
2869          * PCM is 4 channels out, 2 dummy cha    
2870          * The feedback for the output is the    
2871          */                                      
2872         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x000e    
2873         QUIRK_DRIVER_INFO {                      
2874                 QUIRK_DATA_COMPOSITE {           
2875                         {                        
2876                                 QUIRK_DATA_AU    
2877                                         .form    
2878                                         .chan    
2879                                         .ifac    
2880                                         .alts    
2881                                         .alts    
2882                                         .endp    
2883                                         .ep_a    
2884                                                  
2885                                         .rate    
2886                                         .rate    
2887                                         .rate    
2888                                         .nr_r    
2889                                         .rate    
2890                                 }                
2891                         },                       
2892                         {                        
2893                                 QUIRK_DATA_AU    
2894                                         .form    
2895                                         .chan    
2896                                         .ifac    
2897                                         .alts    
2898                                         .alts    
2899                                         .endp    
2900                                         .ep_i    
2901                                         .ep_a    
2902                                                  
2903                                                  
2904                                         .rate    
2905                                         .rate    
2906                                         .rate    
2907                                         .nr_r    
2908                                         .rate    
2909                                 }                
2910                         },                       
2911                         QUIRK_COMPOSITE_END      
2912                 }                                
2913         }                                        
2914 },                                               
2915                                                  
2916 {                                                
2917         /*                                       
2918          * PIONEER DJ DDJ-RR                     
2919          * PCM is 6 channels out & 4 channels    
2920          */                                      
2921         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x000d    
2922         QUIRK_DRIVER_INFO {                      
2923                 QUIRK_DATA_COMPOSITE {           
2924                         {                        
2925                                 QUIRK_DATA_AU    
2926                                         .form    
2927                                         .chan    
2928                                         .ifac    
2929                                         .alts    
2930                                         .alts    
2931                                         .endp    
2932                                         .ep_a    
2933                                                  
2934                                         .rate    
2935                                         .rate    
2936                                         .rate    
2937                                         .nr_r    
2938                                         .rate    
2939                                 }                
2940                         },                       
2941                         {                        
2942                                 QUIRK_DATA_AU    
2943                                         .form    
2944                                         .chan    
2945                                         .ifac    
2946                                         .alts    
2947                                         .alts    
2948                                         .endp    
2949                                         .ep_i    
2950                                         .ep_a    
2951                                                  
2952                                                  
2953                                         .rate    
2954                                         .rate    
2955                                         .rate    
2956                                         .nr_r    
2957                                         .rate    
2958                                 }                
2959                         },                       
2960                         QUIRK_COMPOSITE_END      
2961                 }                                
2962         }                                        
2963 },                                               
2964                                                  
2965 {                                                
2966         /*                                       
2967          * PIONEER DJ DDJ-SR2                    
2968          * PCM is 4 channels out, 6 channels     
2969          * The Feedback for the output is the    
2970          */                                      
2971         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x001e    
2972         QUIRK_DRIVER_INFO {                      
2973                 QUIRK_DATA_COMPOSITE {           
2974                         {                        
2975                                 QUIRK_DATA_AU    
2976                                         .form    
2977                                         .chan    
2978                                         .ifac    
2979                                         .alts    
2980                                         .alts    
2981                                         .endp    
2982                                         .ep_a    
2983                                                  
2984                                         .rate    
2985                                         .rate    
2986                                         .rate    
2987                                         .nr_r    
2988                                         .rate    
2989                                 }                
2990                         },                       
2991                         {                        
2992                                 QUIRK_DATA_AU    
2993                                         .form    
2994                                         .chan    
2995                                         .ifac    
2996                                         .alts    
2997                                         .alts    
2998                                         .endp    
2999                                         .ep_i    
3000                                         .ep_a    
3001                                                  
3002                                         USB_E    
3003                                         .rate    
3004                                         .rate    
3005                                         .rate    
3006                                         .nr_r    
3007                                         .rate    
3008                                 }                
3009                         },                       
3010                         QUIRK_COMPOSITE_END      
3011                 }                                
3012         }                                        
3013 },                                               
3014                                                  
3015 {                                                
3016         /*                                       
3017          * Pioneer DJ DJM-900NXS2                
3018          * 10 channels playback & 12 channels    
3019          */                                      
3020         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x000a    
3021         QUIRK_DRIVER_INFO {                      
3022                 QUIRK_DATA_COMPOSITE {           
3023                         {                        
3024                                 QUIRK_DATA_AU    
3025                                         .form    
3026                                         .chan    
3027                                         .ifac    
3028                                         .alts    
3029                                         .alts    
3030                                         .endp    
3031                                         .ep_a    
3032                                             U    
3033                                         .rate    
3034                                             S    
3035                                             S    
3036                                         .rate    
3037                                         .rate    
3038                                         .nr_r    
3039                                         .rate    
3040                                                  
3041                                         }        
3042                                 }                
3043                         },                       
3044                         {                        
3045                                 QUIRK_DATA_AU    
3046                                         .form    
3047                                         .chan    
3048                                         .ifac    
3049                                         .alts    
3050                                         .alts    
3051                                         .endp    
3052                                         .ep_i    
3053                                         .ep_a    
3054                                             U    
3055                                             U    
3056                                         .rate    
3057                                             S    
3058                                             S    
3059                                         .rate    
3060                                         .rate    
3061                                         .nr_r    
3062                                         .rate    
3063                                                  
3064                                         }        
3065                                 }                
3066                         },                       
3067                         QUIRK_COMPOSITE_END      
3068                 }                                
3069         }                                        
3070 },                                               
3071                                                  
3072 {                                                
3073         /*                                       
3074          * PIONEER DJ DDJ-800                    
3075          * PCM is 6 channels out, 6 channels     
3076          * The Feedback for the output is the    
3077          */                                      
3078         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x0029    
3079         QUIRK_DRIVER_INFO {                      
3080                 QUIRK_DATA_COMPOSITE {           
3081                         {                        
3082                                 QUIRK_DATA_AU    
3083                                         .form    
3084                                         .chan    
3085                                         .ifac    
3086                                         .alts    
3087                                         .alts    
3088                                         .endp    
3089                                         .ep_a    
3090                                                  
3091                                         .rate    
3092                                         .rate    
3093                                         .rate    
3094                                         .nr_r    
3095                                         .rate    
3096                                 }                
3097                         },                       
3098                         {                        
3099                                 QUIRK_DATA_AU    
3100                                         .form    
3101                                         .chan    
3102                                         .ifac    
3103                                         .alts    
3104                                         .alts    
3105                                         .endp    
3106                                         .ep_i    
3107                                         .ep_a    
3108                                                  
3109                                         USB_E    
3110                                         .rate    
3111                                         .rate    
3112                                         .rate    
3113                                         .nr_r    
3114                                         .rate    
3115                                 }                
3116                         },                       
3117                         QUIRK_COMPOSITE_END      
3118                 }                                
3119         }                                        
3120 },                                               
3121                                                  
3122 /*                                               
3123  * MacroSilicon MS2100/MS2106 based AV captur    
3124  *                                               
3125  * These claim 96kHz 1ch in the descriptors,     
3126  * They also need QUIRK_FLAG_ALIGN_TRANSFER,     
3127  * they pretend to be 96kHz mono as a workaro    
3128  * by that...                                    
3129  *                                               
3130  * They also have an issue with initial strea    
3131  * channels to be swapped and out of phase, w    
3132  */                                              
3133 {                                                
3134         USB_AUDIO_DEVICE(0x534d, 0x0021),        
3135         QUIRK_DRIVER_INFO {                      
3136                 .vendor_name = "MacroSilicon"    
3137                 .product_name = "MS210x",        
3138                 QUIRK_DATA_COMPOSITE {           
3139                         { QUIRK_DATA_STANDARD    
3140                         {                        
3141                                 QUIRK_DATA_AU    
3142                                         .form    
3143                                         .chan    
3144                                         .ifac    
3145                                         .alts    
3146                                         .alts    
3147                                         .attr    
3148                                         .endp    
3149                                         .ep_a    
3150                                                  
3151                                         .rate    
3152                                         .rate    
3153                                         .rate    
3154                                 }                
3155                         },                       
3156                         QUIRK_COMPOSITE_END      
3157                 }                                
3158         }                                        
3159 },                                               
3160                                                  
3161 /*                                               
3162  * MacroSilicon MS2109 based HDMI capture car    
3163  *                                               
3164  * These claim 96kHz 1ch in the descriptors,     
3165  * They also need QUIRK_FLAG_ALIGN_TRANSFER,     
3166  * they pretend to be 96kHz mono as a workaro    
3167  * by that...                                    
3168  *                                               
3169  * They also have an issue with initial strea    
3170  * channels to be swapped and out of phase, w    
3171  */                                              
3172 {                                                
3173         USB_AUDIO_DEVICE(0x534d, 0x2109),        
3174         QUIRK_DRIVER_INFO {                      
3175                 .vendor_name = "MacroSilicon"    
3176                 .product_name = "MS2109",        
3177                 QUIRK_DATA_COMPOSITE {           
3178                         { QUIRK_DATA_STANDARD    
3179                         {                        
3180                                 QUIRK_DATA_AU    
3181                                         .form    
3182                                         .chan    
3183                                         .ifac    
3184                                         .alts    
3185                                         .alts    
3186                                         .attr    
3187                                         .endp    
3188                                         .ep_a    
3189                                                  
3190                                         .rate    
3191                                         .rate    
3192                                         .rate    
3193                                 }                
3194                         },                       
3195                         QUIRK_COMPOSITE_END      
3196                 }                                
3197         }                                        
3198 },                                               
3199 {                                                
3200         /*                                       
3201          * Pioneer DJ DJM-750                    
3202          * 8 channels playback & 8 channels c    
3203          */                                      
3204         USB_DEVICE_VENDOR_SPEC(0x08e4, 0x017f    
3205         QUIRK_DRIVER_INFO {                      
3206                 QUIRK_DATA_COMPOSITE {           
3207                         {                        
3208                                 QUIRK_DATA_AU    
3209                                         .form    
3210                                         .chan    
3211                                         .ifac    
3212                                         .alts    
3213                                         .alts    
3214                                         .endp    
3215                                         .ep_a    
3216                                             U    
3217                                         .rate    
3218                                                  
3219                                                  
3220                                         .rate    
3221                                         .rate    
3222                                         .nr_r    
3223                                         .rate    
3224                                 }                
3225                         },                       
3226                         {                        
3227                                 QUIRK_DATA_AU    
3228                                         .form    
3229                                         .chan    
3230                                         .ifac    
3231                                         .alts    
3232                                         .alts    
3233                                         .endp    
3234                                         .ep_i    
3235                                         .ep_a    
3236                                                  
3237                                                  
3238                                         .rate    
3239                                                  
3240                                                  
3241                                         .rate    
3242                                         .rate    
3243                                         .nr_r    
3244                                         .rate    
3245                                 }                
3246                         },                       
3247                         QUIRK_COMPOSITE_END      
3248                 }                                
3249         }                                        
3250 },                                               
3251 {                                                
3252         /*                                       
3253          * Pioneer DJ DJM-750MK2                 
3254          * 10 channels playback & 12 channels    
3255          */                                      
3256         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x001b    
3257         QUIRK_DRIVER_INFO {                      
3258                 QUIRK_DATA_COMPOSITE {           
3259                         {                        
3260                                 QUIRK_DATA_AU    
3261                                         .form    
3262                                         .chan    
3263                                         .ifac    
3264                                         .alts    
3265                                         .alts    
3266                                         .endp    
3267                                         .ep_a    
3268                                             U    
3269                                         .rate    
3270                                         .rate    
3271                                         .rate    
3272                                         .nr_r    
3273                                         .rate    
3274                                                  
3275                                         }        
3276                                 }                
3277                         },                       
3278                         {                        
3279                                 QUIRK_DATA_AU    
3280                                         .form    
3281                                         .chan    
3282                                         .ifac    
3283                                         .alts    
3284                                         .alts    
3285                                         .endp    
3286                                         .ep_i    
3287                                         .ep_a    
3288                                                  
3289                                                  
3290                                         .rate    
3291                                         .rate    
3292                                         .rate    
3293                                         .nr_r    
3294                                         .rate    
3295                                 }                
3296                         },                       
3297                         QUIRK_COMPOSITE_END      
3298                 }                                
3299         }                                        
3300 },                                               
3301 {                                                
3302         /*                                       
3303          * Pioneer DJ DJM-850                    
3304          * 8 channels playback and 8 channels    
3305          * Playback on EP 0x05                   
3306          * Capture on EP 0x86                    
3307          */                                      
3308         USB_DEVICE_VENDOR_SPEC(0x08e4, 0x0163    
3309         QUIRK_DRIVER_INFO {                      
3310                 QUIRK_DATA_COMPOSITE {           
3311                         {                        
3312                                 QUIRK_DATA_AU    
3313                                         .form    
3314                                         .chan    
3315                                         .ifac    
3316                                         .alts    
3317                                         .alts    
3318                                         .endp    
3319                                         .ep_a    
3320                                             U    
3321                                                  
3322                                         .rate    
3323                                                  
3324                                                  
3325                                         .rate    
3326                                         .rate    
3327                                         .nr_r    
3328                                         .rate    
3329                                 }                
3330                         },                       
3331                         {                        
3332                                 QUIRK_DATA_AU    
3333                                         .form    
3334                                         .chan    
3335                                         .ifac    
3336                                         .alts    
3337                                         .alts    
3338                                         .endp    
3339                                         .ep_i    
3340                                         .ep_a    
3341                                                  
3342                                                  
3343                                         .rate    
3344                                                  
3345                                                  
3346                                         .rate    
3347                                         .rate    
3348                                         .nr_r    
3349                                         .rate    
3350                                 }                
3351                         },                       
3352                         QUIRK_COMPOSITE_END      
3353                 }                                
3354         }                                        
3355 },                                               
3356 {                                                
3357         /*                                       
3358          * Pioneer DJ DJM-450                    
3359          * PCM is 8 channels out @ 48 fixed (    
3360          * and 8 channels in @ 48 fixed (endp    
3361          */                                      
3362         USB_DEVICE_VENDOR_SPEC(0x2b73, 0x0013    
3363         QUIRK_DRIVER_INFO {                      
3364                 QUIRK_DATA_COMPOSITE {           
3365                         {                        
3366                                 QUIRK_DATA_AU    
3367                                         .form    
3368                                         .chan    
3369                                         .ifac    
3370                                         .alts    
3371                                         .alts    
3372                                         .endp    
3373                                         .ep_a    
3374                                                  
3375                                         .rate    
3376                                         .rate    
3377                                         .rate    
3378                                         .nr_r    
3379                                         .rate    
3380                                         }        
3381                         },                       
3382                         {                        
3383                                 QUIRK_DATA_AU    
3384                                         .form    
3385                                         .chan    
3386                                         .ifac    
3387                                         .alts    
3388                                         .alts    
3389                                         .endp    
3390                                         .ep_i    
3391                                         .ep_a    
3392                                                  
3393                                                  
3394                                         .rate    
3395                                         .rate    
3396                                         .rate    
3397                                         .nr_r    
3398                                         .rate    
3399                                 }                
3400                         },                       
3401                         QUIRK_COMPOSITE_END      
3402                 }                                
3403         }                                        
3404 },                                               
3405 {                                                
3406         /*                                       
3407          * Sennheiser GSP670                     
3408          * Change order of interfaces loaded     
3409          */                                      
3410         USB_DEVICE(0x1395, 0x0300),              
3411         .bInterfaceClass = USB_CLASS_PER_INTE    
3412         QUIRK_DRIVER_INFO {                      
3413                 QUIRK_DATA_COMPOSITE {           
3414                         // Communication         
3415                         { QUIRK_DATA_STANDARD    
3416                         // Recording             
3417                         { QUIRK_DATA_STANDARD    
3418                         // Main                  
3419                         { QUIRK_DATA_STANDARD    
3420                         QUIRK_COMPOSITE_END      
3421                 }                                
3422         }                                        
3423 },                                               
3424 {                                                
3425         /*                                       
3426          * Fiero SC-01 (firmware v1.0.0 @ 48     
3427          */                                      
3428         USB_DEVICE(0x2b53, 0x0023),              
3429         QUIRK_DRIVER_INFO {                      
3430                 .vendor_name = "Fiero",          
3431                 .product_name = "SC-01",         
3432                 QUIRK_DATA_COMPOSITE {           
3433                         { QUIRK_DATA_STANDARD    
3434                         /* Playback */           
3435                         {                        
3436                                 QUIRK_DATA_AU    
3437                                         .form    
3438                                         .chan    
3439                                         .fmt_    
3440                                         .ifac    
3441                                         .alts    
3442                                         .alts    
3443                                         .endp    
3444                                         .ep_a    
3445                                                  
3446                                         .rate    
3447                                         .rate    
3448                                         .rate    
3449                                         .nr_r    
3450                                         .rate    
3451                                         .cloc    
3452                                 }                
3453                         },                       
3454                         /* Capture */            
3455                         {                        
3456                                 QUIRK_DATA_AU    
3457                                         .form    
3458                                         .chan    
3459                                         .fmt_    
3460                                         .ifac    
3461                                         .alts    
3462                                         .alts    
3463                                         .endp    
3464                                         .ep_a    
3465                                                  
3466                                                  
3467                                         .rate    
3468                                         .rate    
3469                                         .rate    
3470                                         .nr_r    
3471                                         .rate    
3472                                         .cloc    
3473                                 }                
3474                         },                       
3475                         QUIRK_COMPOSITE_END      
3476                 }                                
3477         }                                        
3478 },                                               
3479 {                                                
3480         /*                                       
3481          * Fiero SC-01 (firmware v1.0.0 @ 96     
3482          */                                      
3483         USB_DEVICE(0x2b53, 0x0024),              
3484         QUIRK_DRIVER_INFO {                      
3485                 .vendor_name = "Fiero",          
3486                 .product_name = "SC-01",         
3487                 QUIRK_DATA_COMPOSITE {           
3488                         { QUIRK_DATA_STANDARD    
3489                         /* Playback */           
3490                         {                        
3491                                 QUIRK_DATA_AU    
3492                                         .form    
3493                                         .chan    
3494                                         .fmt_    
3495                                         .ifac    
3496                                         .alts    
3497                                         .alts    
3498                                         .endp    
3499                                         .ep_a    
3500                                                  
3501                                         .rate    
3502                                         .rate    
3503                                         .rate    
3504                                         .nr_r    
3505                                         .rate    
3506                                         .cloc    
3507                                 }                
3508                         },                       
3509                         /* Capture */            
3510                         {                        
3511                                 QUIRK_DATA_AU    
3512                                         .form    
3513                                         .chan    
3514                                         .fmt_    
3515                                         .ifac    
3516                                         .alts    
3517                                         .alts    
3518                                         .endp    
3519                                         .ep_a    
3520                                                  
3521                                                  
3522                                         .rate    
3523                                         .rate    
3524                                         .rate    
3525                                         .nr_r    
3526                                         .rate    
3527                                         .cloc    
3528                                 }                
3529                         },                       
3530                         QUIRK_COMPOSITE_END      
3531                 }                                
3532         }                                        
3533 },                                               
3534 {                                                
3535         /*                                       
3536          * Fiero SC-01 (firmware v1.1.0)         
3537          */                                      
3538         USB_DEVICE(0x2b53, 0x0031),              
3539         QUIRK_DRIVER_INFO {                      
3540                 .vendor_name = "Fiero",          
3541                 .product_name = "SC-01",         
3542                 QUIRK_DATA_COMPOSITE {           
3543                         { QUIRK_DATA_STANDARD    
3544                         /* Playback */           
3545                         {                        
3546                                 QUIRK_DATA_AU    
3547                                         .form    
3548                                         .chan    
3549                                         .fmt_    
3550                                         .ifac    
3551                                         .alts    
3552                                         .alts    
3553                                         .endp    
3554                                         .ep_a    
3555                                                  
3556                                         .rate    
3557                                                  
3558                                         .rate    
3559                                         .rate    
3560                                         .nr_r    
3561                                         .rate    
3562                                         .cloc    
3563                                 }                
3564                         },                       
3565                         /* Capture */            
3566                         {                        
3567                                 QUIRK_DATA_AU    
3568                                         .form    
3569                                         .chan    
3570                                         .fmt_    
3571                                         .ifac    
3572                                         .alts    
3573                                         .alts    
3574                                         .endp    
3575                                         .ep_a    
3576                                                  
3577                                                  
3578                                         .rate    
3579                                                  
3580                                         .rate    
3581                                         .rate    
3582                                         .nr_r    
3583                                         .rate    
3584                                         .cloc    
3585                                 }                
3586                         },                       
3587                         QUIRK_COMPOSITE_END      
3588                 }                                
3589         }                                        
3590 },                                               
3591 {                                                
3592         /* Advanced modes of the Mythware XA0    
3593          * For the standard mode, Mythware XA    
3594          */                                      
3595         USB_DEVICE_VENDOR_SPEC(0xffad, 0xa001    
3596         QUIRK_DRIVER_INFO {                      
3597                 .vendor_name = "Mythware",       
3598                 .product_name = "XA001AU",       
3599                 QUIRK_DATA_COMPOSITE {           
3600                         { QUIRK_DATA_IGNORE(0    
3601                         { QUIRK_DATA_STANDARD    
3602                         { QUIRK_DATA_STANDARD    
3603                         QUIRK_COMPOSITE_END      
3604                 }                                
3605         }                                        
3606 },                                               
3607 {                                                
3608         /* Only claim interface 0 */             
3609         .match_flags = USB_DEVICE_ID_MATCH_VE    
3610                        USB_DEVICE_ID_MATCH_PR    
3611                        USB_DEVICE_ID_MATCH_IN    
3612                        USB_DEVICE_ID_MATCH_IN    
3613         .idVendor = 0x2a39,                      
3614         .idProduct = 0x3f8c,                     
3615         .bInterfaceClass = USB_CLASS_VENDOR_S    
3616         .bInterfaceNumber = 0,                   
3617         QUIRK_DRIVER_INFO {                      
3618                 QUIRK_DATA_COMPOSITE {           
3619                         /*                       
3620                          * Three modes depend    
3621                          * with different cha    
3622                          */                      
3623                         { QUIRK_DATA_STANDARD    
3624                         {                        
3625                                 QUIRK_DATA_AU    
3626                                         .form    
3627                                         .chan    
3628                                         .fmt_    
3629                                         .ifac    
3630                                         .alts    
3631                                         .alts    
3632                                         .endp    
3633                                         .ep_i    
3634                                         .ep_a    
3635                                                  
3636                                         .rate    
3637                                                  
3638                                                  
3639                                         .rate    
3640                                         .rate    
3641                                         .nr_r    
3642                                         .rate    
3643                                                  
3644                                         },       
3645                                         .sync    
3646                                         .sync    
3647                                         .sync    
3648                                         .sync    
3649                                         .impl    
3650                                 },               
3651                         },                       
3652                         {                        
3653                                 QUIRK_DATA_AU    
3654                                         .form    
3655                                         .chan    
3656                                         .fmt_    
3657                                         .ifac    
3658                                         .alts    
3659                                         .alts    
3660                                         .endp    
3661                                         .ep_i    
3662                                         .ep_a    
3663                                                  
3664                                         .rate    
3665                                                  
3666                                                  
3667                                         .rate    
3668                                         .rate    
3669                                         .nr_r    
3670                                         .rate    
3671                                                  
3672                                         },       
3673                                         .sync    
3674                                         .sync    
3675                                         .sync    
3676                                         .sync    
3677                                         .impl    
3678                                 },               
3679                         },                       
3680                         {                        
3681                                 QUIRK_DATA_AU    
3682                                         .form    
3683                                         .chan    
3684                                         .fmt_    
3685                                         .ifac    
3686                                         .alts    
3687                                         .alts    
3688                                         .endp    
3689                                         .ep_i    
3690                                         .ep_a    
3691                                                  
3692                                         .rate    
3693                                                  
3694                                                  
3695                                         .rate    
3696                                         .rate    
3697                                         .nr_r    
3698                                         .rate    
3699                                                  
3700                                         },       
3701                                         .sync    
3702                                         .sync    
3703                                         .sync    
3704                                         .sync    
3705                                         .impl    
3706                                 },               
3707                         },                       
3708                         {                        
3709                                 QUIRK_DATA_AU    
3710                                         .form    
3711                                         .chan    
3712                                         .fmt_    
3713                                         .ifac    
3714                                         .alts    
3715                                         .alts    
3716                                         .endp    
3717                                         .ep_a    
3718                                                  
3719                                         .rate    
3720                                                  
3721                                                  
3722                                         .rate    
3723                                         .rate    
3724                                         .nr_r    
3725                                         .rate    
3726                                                  
3727                                         }        
3728                                 }                
3729                         },                       
3730                         {                        
3731                                 QUIRK_DATA_AU    
3732                                         .form    
3733                                         .chan    
3734                                         .fmt_    
3735                                         .ifac    
3736                                         .alts    
3737                                         .alts    
3738                                         .endp    
3739                                         .ep_a    
3740                                                  
3741                                         .rate    
3742                                                  
3743                                                  
3744                                         .rate    
3745                                         .rate    
3746                                         .nr_r    
3747                                         .rate    
3748                                                  
3749                                         }        
3750                                 }                
3751                         },                       
3752                         {                        
3753                                 QUIRK_DATA_AU    
3754                                         .form    
3755                                         .chan    
3756                                         .fmt_    
3757                                         .ifac    
3758                                         .alts    
3759                                         .alts    
3760                                         .endp    
3761                                         .ep_a    
3762                                                  
3763                                         .rate    
3764                                                  
3765                                                  
3766                                         .rate    
3767                                         .rate    
3768                                         .nr_r    
3769                                         .rate    
3770                                                  
3771                                         }        
3772                                 }                
3773                         },                       
3774                         QUIRK_COMPOSITE_END      
3775                 }                                
3776         }                                        
3777 },                                               
3778 #undef USB_DEVICE_VENDOR_SPEC                    
3779 #undef USB_AUDIO_DEVICE                          
3780                                                  

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php