亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? trident.c

?? 底層驅動開發
?? C
字號:
/* *  Driver for Trident 4DWave DX/NX & SiS SI7018 Audio PCI soundcard * *  Driver was originated by Trident <audio@tridentmicro.com> *  			     Fri Feb 19 15:55:28 MST 1999 * * *   This program is free software; you can redistribute it and/or modify *   it under the terms of the GNU General Public License as published by *   the Free Software Foundation; either version 2 of the License, or *   (at your option) any later version. * *   This program is distributed in the hope that it will be useful, *   but WITHOUT ANY WARRANTY; without even the implied warranty of *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *   GNU General Public License for more details. * *   You should have received a copy of the GNU General Public License *   along with this program; if not, write to the Free Software *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA * */#include <sound/driver.h>#include <linux/init.h>#include <linux/pci.h>#include <linux/time.h>#include <linux/moduleparam.h>#include <sound/core.h>#include <sound/trident.h>#include <sound/initval.h>MODULE_AUTHOR("Jaroslav Kysela <perex@suse.cz>, <audio@tridentmicro.com>");MODULE_DESCRIPTION("Trident 4D-WaveDX/NX & SiS SI7018");MODULE_LICENSE("GPL");MODULE_SUPPORTED_DEVICE("{{Trident,4DWave DX},"		"{Trident,4DWave NX},"		"{SiS,SI7018 PCI Audio},"		"{Best Union,Miss Melody 4DWave PCI},"		"{HIS,4DWave PCI},"		"{Warpspeed,ONSpeed 4DWave PCI},"		"{Aztech Systems,PCI 64-Q3D},"		"{Addonics,SV 750},"		"{CHIC,True Sound 4Dwave},"		"{Shark,Predator4D-PCI},"		"{Jaton,SonicWave 4D},"		"{Hoontech,SoundTrack Digital 4DWave NX}}");static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;	/* Index 0-MAX */static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR;	/* ID for this card */static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP;	/* Enable this card */static int pcm_channels[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 32};static int wavetable_size[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 8192};module_param_array(index, int, NULL, 0444);MODULE_PARM_DESC(index, "Index value for Trident 4DWave PCI soundcard.");module_param_array(id, charp, NULL, 0444);MODULE_PARM_DESC(id, "ID string for Trident 4DWave PCI soundcard.");module_param_array(enable, bool, NULL, 0444);MODULE_PARM_DESC(enable, "Enable Trident 4DWave PCI soundcard.");module_param_array(pcm_channels, int, NULL, 0444);MODULE_PARM_DESC(pcm_channels, "Number of hardware channels assigned for PCM.");module_param_array(wavetable_size, int, NULL, 0444);MODULE_PARM_DESC(wavetable_size, "Maximum memory size in kB for wavetable synth.");static struct pci_device_id snd_trident_ids[] = {	{ 0x1023, 0x2000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },	/* Trident 4DWave DX PCI Audio */	{ 0x1023, 0x2001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },	/* Trident 4DWave NX PCI Audio */	{ 0x1039, 0x7018, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, },	/* SiS SI7018 PCI Audio */	{ 0, }};MODULE_DEVICE_TABLE(pci, snd_trident_ids);static int __devinit snd_trident_probe(struct pci_dev *pci,				       const struct pci_device_id *pci_id){	static int dev;	snd_card_t *card;	trident_t *trident;	const char *str;	int err, pcm_dev = 0;	if (dev >= SNDRV_CARDS)		return -ENODEV;	if (!enable[dev]) {		dev++;		return -ENOENT;	}	card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0);	if (card == NULL)		return -ENOMEM;	if ((err = snd_trident_create(card, pci,				      pcm_channels[dev],				      ((pci->vendor << 16) | pci->device) == TRIDENT_DEVICE_ID_SI7018 ? 1 : 2,				      wavetable_size[dev],				      &trident)) < 0) {		snd_card_free(card);		return err;	}	switch (trident->device) {	case TRIDENT_DEVICE_ID_DX:		str = "TRID4DWAVEDX";		break;	case TRIDENT_DEVICE_ID_NX:		str = "TRID4DWAVENX";		break;	case TRIDENT_DEVICE_ID_SI7018:		str = "SI7018";		break;	default:		str = "Unknown";	}	strcpy(card->driver, str);	if (trident->device == TRIDENT_DEVICE_ID_SI7018) {		strcpy(card->shortname, "SiS ");	} else {		strcpy(card->shortname, "Trident ");	}	strcat(card->shortname, card->driver);	sprintf(card->longname, "%s PCI Audio at 0x%lx, irq %d",		card->shortname, trident->port, trident->irq);	if ((err = snd_trident_pcm(trident, pcm_dev++, NULL)) < 0) {		snd_card_free(card);		return err;	}	switch (trident->device) {	case TRIDENT_DEVICE_ID_DX:	case TRIDENT_DEVICE_ID_NX:		if ((err = snd_trident_foldback_pcm(trident, pcm_dev++, NULL)) < 0) {			snd_card_free(card);			return err;		}		break;	}	if (trident->device == TRIDENT_DEVICE_ID_NX || trident->device == TRIDENT_DEVICE_ID_SI7018) {		if ((err = snd_trident_spdif_pcm(trident, pcm_dev++, NULL)) < 0) {			snd_card_free(card);			return err;		}	}	if (trident->device != TRIDENT_DEVICE_ID_SI7018 &&	    (err = snd_mpu401_uart_new(card, 0, MPU401_HW_TRID4DWAVE,				       trident->midi_port, 1,				       trident->irq, 0, &trident->rmidi)) < 0) {		snd_card_free(card);		return err;	}#if defined(CONFIG_SND_SEQUENCER) || (defined(MODULE) && defined(CONFIG_SND_SEQUENCER_MODULE))	if ((err = snd_trident_attach_synthesizer(trident)) < 0) {		snd_card_free(card);		return err;	}#endif	snd_trident_create_gameport(trident);	if ((err = snd_card_register(card)) < 0) {		snd_card_free(card);		return err;	}	pci_set_drvdata(pci, card);	dev++;	return 0;}static void __devexit snd_trident_remove(struct pci_dev *pci){	snd_card_free(pci_get_drvdata(pci));	pci_set_drvdata(pci, NULL);}static struct pci_driver driver = {	.name = "Trident4DWaveAudio",	.owner = THIS_MODULE,	.id_table = snd_trident_ids,	.probe = snd_trident_probe,	.remove = __devexit_p(snd_trident_remove),	SND_PCI_PM_CALLBACKS};static int __init alsa_card_trident_init(void){	return pci_register_driver(&driver);}static void __exit alsa_card_trident_exit(void){	pci_unregister_driver(&driver);}module_init(alsa_card_trident_init)module_exit(alsa_card_trident_exit)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区欧美国产| 亚洲成在人线免费| 日韩欧美中文字幕制服| 欧美日韩成人在线一区| 欧美亚洲高清一区| 欧美日韩国产精品自在自线| 色狠狠av一区二区三区| 欧洲在线/亚洲| 欧美另类videos死尸| 欧美精品在线观看播放| 91精品国产乱| 久久久久久日产精品| 国产午夜一区二区三区| 国产精品伦理一区二区| 亚洲欧洲精品成人久久奇米网| 国产精品久久久久aaaa樱花| 亚洲欧美一区二区三区孕妇| 一区二区三区四区在线播放| 亚洲一二三级电影| 久久精品国产精品亚洲精品| 国产福利一区在线观看| av福利精品导航| 欧美日韩在线播放| 久久蜜桃一区二区| 综合分类小说区另类春色亚洲小说欧美| 亚洲精品视频免费看| 亚洲国产视频在线| 韩国女主播成人在线| 91在线播放网址| 欧美久久一区二区| 国产嫩草影院久久久久| 亚洲国产一二三| 国产精品一区在线观看乱码| 日本久久电影网| 精品对白一区国产伦| 中文字幕视频一区| 麻豆精品一区二区三区| av日韩在线网站| 欧美不卡123| 亚洲人被黑人高潮完整版| 另类综合日韩欧美亚洲| 99re66热这里只有精品3直播| 欧美三区在线观看| 国产女同性恋一区二区| 无码av免费一区二区三区试看| 国产一区二区影院| 在线播放日韩导航| 国产精品国产三级国产a | 成人夜色视频网站在线观看| 91福利视频久久久久| 国产女同互慰高潮91漫画| 日韩激情一区二区| 在线免费不卡电影| 国产精品美女久久久久久久久| 免费久久99精品国产| 欧美亚洲愉拍一区二区| 国产精品女上位| 国产成人在线影院| 日韩欧美一区二区免费| 亚洲午夜久久久| 一本色道久久综合亚洲91 | 欧美国产日产图区| 毛片一区二区三区| 这里只有精品视频在线观看| 亚洲综合久久久久| 91啪在线观看| 亚洲视频图片小说| jvid福利写真一区二区三区| 国产三级精品在线| 国产精品自拍网站| 欧美精品一区二区在线播放 | 老司机精品视频导航| 制服丝袜亚洲播放| 蜜臀a∨国产成人精品| 在线电影院国产精品| 亚洲第一在线综合网站| 欧美日韩一卡二卡三卡| 亚洲成av人在线观看| 欧美日韩的一区二区| 午夜激情久久久| 4438亚洲最大| 青娱乐精品在线视频| 欧美草草影院在线视频| 国产一区不卡在线| 国产日韩欧美一区二区三区乱码 | 欧美精选一区二区| 日韩精品一二三四| 精品久久人人做人人爰| 国产一区二区在线免费观看| 欧美国产97人人爽人人喊| 99re热这里只有精品免费视频| 亚洲精品中文在线影院| 欧美视频在线一区| 久久精品国产99国产精品| 久久久精品综合| 色综合久久中文综合久久牛| 亚洲国产精品影院| 精品国产一区二区三区久久久蜜月 | 国产成人一区二区精品非洲| 国产精品久久久久婷婷二区次| 99久久免费国产| 一区二区在线观看免费 | 激情av综合网| 专区另类欧美日韩| 欧美一级久久久| 国产黄色91视频| 一区二区三区精品| 精品裸体舞一区二区三区| 成人免费毛片aaaaa**| 亚洲国产精品久久久久秋霞影院| 欧美xxxxx裸体时装秀| 成人激情黄色小说| 亚洲午夜视频在线观看| 国产亚洲精品中文字幕| 欧美日韩色一区| 成人午夜av影视| 日韩精品免费专区| 欧美激情在线一区二区三区| 欧美日韩高清一区二区三区| 成人黄色综合网站| 蜜臀99久久精品久久久久久软件| 亚洲婷婷综合色高清在线| 欧美一级二级在线观看| 色av成人天堂桃色av| 丰满岳乱妇一区二区三区| 日韩电影免费在线看| 亚洲天堂福利av| 国产色综合一区| 欧美一区二区三区啪啪| 色爱区综合激月婷婷| 丁香婷婷综合色啪| 美女高潮久久久| 婷婷成人综合网| 亚洲欧美日韩成人高清在线一区| 久久夜色精品一区| 日韩欧美电影一二三| 欧美性xxxxxx少妇| 在线精品国精品国产尤物884a| 成人性生交大片| 国产精品996| 国模无码大尺度一区二区三区| 婷婷成人综合网| 无码av中文一区二区三区桃花岛| 亚洲天堂2014| 亚洲天天做日日做天天谢日日欢| 国产亚洲精品超碰| 国产日韩精品视频一区| 久久亚洲欧美国产精品乐播| 精品免费日韩av| 精品美女被调教视频大全网站| 51精品久久久久久久蜜臀| 欧美高清hd18日本| 欧美美女bb生活片| 日韩一区二区免费视频| 日韩三级av在线播放| 欧美一区二视频| 欧美成人性福生活免费看| 欧美一区二区视频网站| 欧美www视频| 国产欧美一区二区精品久导航 | 91美女在线看| 91麻豆国产在线观看| 欧洲精品视频在线观看| 在线免费av一区| 在线成人av网站| 337p日本欧洲亚洲大胆精品| 久久综合色播五月| 日本一区二区三区视频视频| 国产精品美女久久福利网站| 日韩理论在线观看| 亚洲国产成人高清精品| 午夜av电影一区| 精久久久久久久久久久| 成人黄色片在线观看| 91成人免费在线视频| 欧美一区二区在线视频| 久久久精品天堂| 中文字幕一区二区三区在线不卡 | 成人免费视频一区| 欧美自拍偷拍一区| 91精品国产91久久久久久一区二区 | 欧美日韩成人在线| 亚洲精品在线电影| 一区二区三区高清不卡| 久久成人羞羞网站| 99精品偷自拍| 欧美大片在线观看一区二区| 国产日韩欧美精品在线| 午夜视黄欧洲亚洲| 高清av一区二区| 欧美精品aⅴ在线视频| 中文字幕av一区二区三区免费看| 亚洲香肠在线观看| 成人性色生活片| 日韩一级在线观看| 一区2区3区在线看| 国产精品一区二区久激情瑜伽| 欧美图区在线视频| 欧美激情综合网| 久久爱另类一区二区小说|