usbquirks.h

来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 996 行 · 第 1/2 页

H
996
字号
		.vendor_name = "EDIROL",		.product_name = "SD-20",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0003,			.in_cables  = 0x0007		}	}},{	USB_DEVICE(0x0582, 0x0029),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "EDIROL",		.product_name = "SD-80",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x000f,			.in_cables  = 0x000f		}	}},{	/*	 * This quirk is for the "Advanced" modes of the Edirol UA-700.	 * If the sample format switch is not in an advanced setting, the	 * UA-700 has ID 0x0582/0x002c and is standard compliant (no quirks),	 * but offers only 16-bit PCM and no MIDI.	 */	USB_DEVICE_VENDOR_SPEC(0x0582, 0x002b),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "EDIROL",		.product_name = "UA-700",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_COMPOSITE,		.data = (const snd_usb_audio_quirk_t[]) {			{				.ifnum = 1,				.type = QUIRK_AUDIO_EDIROL_UA700			},			{				.ifnum = 2,				.type = QUIRK_AUDIO_EDIROL_UA700			},			{				.ifnum = 3,				.type = QUIRK_AUDIO_EDIROL_UA700			},			{				.ifnum = -1			}		}	}},{	USB_DEVICE(0x0582, 0x002d),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "Roland",		.product_name = "XV-2020",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0001		}	}},{	USB_DEVICE(0x0582, 0x002f),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "Roland",		.product_name = "VariOS",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0007,			.in_cables  = 0x0007		}	}},{	USB_DEVICE(0x0582, 0x0033),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "EDIROL",		.product_name = "PCR",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0003,			.in_cables  = 0x0007		}	}},{	USB_DEVICE(0x0582, 0x0037),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "Roland",		.product_name = "Digital Piano",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0001		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0582, 0x003b),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "BOSS",		.product_name = "GS-10",		.ifnum = 3,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0003,			.in_cables  = 0x0003		}	}},{	USB_DEVICE(0x0582, 0x0040),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "Roland",		.product_name = "GI-20",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0001		}	}},{	USB_DEVICE(0x0582, 0x0044),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "Roland",		.product_name = "UA-1000",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_COMPOSITE,		.data = (const snd_usb_audio_quirk_t[]) {			{				.ifnum = 1,				.type = QUIRK_AUDIO_FIXED_ENDPOINT,				.data = & (const struct audioformat) {					.format = SNDRV_PCM_FORMAT_S24,					.channels = 12,					.iface = 1,					.altsetting = 1,					.altset_idx = 1,					.attributes = 0,					.endpoint = 0x81,					.ep_attr = 0x01,					.rates = SNDRV_PCM_RATE_CONTINUOUS,					.rate_min = 48000,					.rate_max = 48000,				}			},			{				.ifnum = 2,				.type = QUIRK_AUDIO_FIXED_ENDPOINT,				.data = & (const struct audioformat) {					.format = SNDRV_PCM_FORMAT_S24,					.channels = 10,					.iface = 2,					.altsetting = 1,					.altset_idx = 1,					.attributes = 0,					.endpoint = 0x02,					.ep_attr = 0x01,					.rates = SNDRV_PCM_RATE_CONTINUOUS,					.rate_min = 48000,					.rate_max = 48000,				}			},			{				.ifnum = 3,				.type = QUIRK_MIDI_FIXED_ENDPOINT,				.data = & (const snd_usb_midi_endpoint_info_t) {					.out_cables = 0x0003,					.in_cables  = 0x0003				}			},			{				.ifnum = -1			}		}	}},{	USB_DEVICE(0x0582, 0x0048),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "EDIROL",		.product_name = "UR-80",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0003,			.in_cables  = 0x0007		}	}},{	USB_DEVICE(0x0582, 0x004d),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "EDIROL",		.product_name = "PCR-A",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0003,			.in_cables  = 0x0007		}	}},{	USB_DEVICE(0x0582, 0x0065),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "EDIROL",		.product_name = "PCR-1",		.ifnum = 0,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0003		}	}},{	/*	 * This quirk is for the "Advanced Driver" mode. If off, the UA-3FX	 * is standard compliant, but has only 16-bit PCM.	 */	USB_DEVICE(0x0582, 0x0050),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "EDIROL",		.product_name = "UA-3FX",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_COMPOSITE,		.data = (const snd_usb_audio_quirk_t[]) {			{				.ifnum = 1,				.type = QUIRK_AUDIO_STANDARD_INTERFACE			},			{				.ifnum = 2,				.type = QUIRK_AUDIO_STANDARD_INTERFACE			},			{				.ifnum = -1			}		}	}},{	USB_DEVICE(0x0582, 0x0052),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "EDIROL",		.product_name = "UM-1SX",		.ifnum = 0,		.type = QUIRK_MIDI_STANDARD_INTERFACE	}},/* Midiman/M-Audio devices */{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x1002),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "MidiSport 2x2",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0003,			.in_cables  = 0x0003		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x1011),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "MidiSport 1x1",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0001		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x1015),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "Keystation",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0001		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x1021),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "MidiSport 4x4",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x000f,			.in_cables  = 0x000f		}	}},{	/*	 * For hardware revision 1.05; in the later revisions (1.10 and	 * 1.21), 0x1031 is the ID for the device without firmware.	 * Thanks to Olaf Giesbrecht <Olaf_Giesbrecht@yahoo.de>	 */	USB_DEVICE_VER(0x0763, 0x1031, 0x0100, 0x0109),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "MidiSport 8x8",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x01ff,			.in_cables  = 0x01ff		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x1033),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "MidiSport 8x8",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x01ff,			.in_cables  = 0x01ff		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x1041),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "MidiSport 2x4",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x000f,			.in_cables  = 0x0003		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x2001),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "Quattro",		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_COMPOSITE,		.data = & (const snd_usb_audio_quirk_t[]) {			/*			 * Interfaces 0-2 are "Windows-compatible", 16-bit only,			 * and share endpoints with the other interfaces.			 * Ignore them.  The other interfaces can do 24 bits,			 * but captured samples are big-endian (see usbaudio.c).			 */			{				.ifnum = 4,				.type = QUIRK_AUDIO_STANDARD_INTERFACE			},			{				.ifnum = 5,				.type = QUIRK_AUDIO_STANDARD_INTERFACE			},			{				.ifnum = 7,				.type = QUIRK_AUDIO_STANDARD_INTERFACE			},			{				.ifnum = 8,				.type = QUIRK_AUDIO_STANDARD_INTERFACE			},			{				.ifnum = 9,				.type = QUIRK_MIDI_MIDIMAN,				.data = & (const snd_usb_midi_endpoint_info_t) {					.out_cables = 0x0001,					.in_cables  = 0x0001				}			},			{				.ifnum = -1			}		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x2003),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "AudioPhile",		.ifnum = 6,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0001		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x2008),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "Ozone",		.ifnum = 3,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0001		}	}},{	USB_DEVICE_VENDOR_SPEC(0x0763, 0x200d),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "M-Audio",		.product_name = "OmniStudio",		.ifnum = 9,		.type = QUIRK_MIDI_MIDIMAN,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0001,			.in_cables  = 0x0001		}	}},/* Mark of the Unicorn devices */{	/* thanks to Woodley Packard <sweaglesw@thibs.menloschool.org> */	USB_DEVICE(0x07fd, 0x0001),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "MOTU",		.product_name = "Fastlane",		.ifnum = 1,		.type = QUIRK_MIDI_FIXED_ENDPOINT,		.data = & (const snd_usb_midi_endpoint_info_t) {			.out_cables = 0x0003,			.in_cables  = 0x0003		}	}},{	/* Creative Sound Blaster MP3+ */	USB_DEVICE(0x041e, 0x3010),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "Creative Labs",		.product_name = "Sound Blaster MP3+",		.ifnum = QUIRK_NO_INTERFACE	}	},{	USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0013),	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.vendor_name = "Terratec",		.product_name = "PHASE 26",		.ifnum = 3,		.type = QUIRK_MIDI_STANDARD_INTERFACE	}},{	/*	 * Some USB MIDI devices don't have an audio control interface,	 * so we have to grab MIDI streaming interfaces here.	 */	.match_flags = USB_DEVICE_ID_MATCH_INT_CLASS |		       USB_DEVICE_ID_MATCH_INT_SUBCLASS,	.bInterfaceClass = USB_CLASS_AUDIO,	.bInterfaceSubClass = USB_SUBCLASS_MIDI_STREAMING,	.driver_info = (unsigned long) & (const snd_usb_audio_quirk_t) {		.ifnum = QUIRK_ANY_INTERFACE,		.type = QUIRK_MIDI_STANDARD_INTERFACE	}},#undef USB_DEVICE_VENDOR_SPEC

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?