您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ HiSax_getrev函数代码示例

51自学网 2021-06-01 21:26:07
  C++
这篇教程C++ HiSax_getrev函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中HiSax_getrev函数的典型用法代码示例。如果您正苦于以下问题:C++ HiSax_getrev函数的具体用法?C++ HiSax_getrev怎么用?C++ HiSax_getrev使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了HiSax_getrev函数的27个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: setup_enternow_pci

/* called by config.c */int __devinitsetup_enternow_pci(struct IsdnCard *card){	int ret;	struct IsdnCardState *cs = card->cs;	char tmp[64];#ifdef __BIG_ENDIAN#error "not running on big endian machines now"#endif        strcpy(tmp, enternow_pci_rev);	printk(KERN_INFO "HiSax: Formula-n Europe AG enter:now ISDN PCI driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_ENTERNOW)		return(0);	test_and_clear_bit(FLG_LOCK_ATOMIC, &cs->HW_Flags);	for ( ;; )	{		if ((dev_netjet = pci_find_device(PCI_VENDOR_ID_TIGERJET,			PCI_DEVICE_ID_TIGERJET_300,  dev_netjet))) {			ret = en_pci_probe(dev_netjet, cs);			if (!ret)				return(0);		} else {                        printk(KERN_WARNING "enter:now PCI: No PCI card found/n");			return(0);		}		en_cs_init(card, cs);		break;	}        return en_cs_init_rest(card, cs);}
开发者ID:appleorange1,项目名称:asus-rt-n12-lx,代码行数:36,


示例2: setup_bkm_a4t

int __devinitsetup_bkm_a4t(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];	u_int pci_memaddr = 0, found = 0;	int ret;	strcpy(tmp, bkm_a4t_revision);	printk(KERN_INFO "HiSax: T-Berkom driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ == ISDN_CTYPE_BKM_A4T) {		cs->subtyp = BKM_A4T;	} else		return (0);	while ((dev_a4t = hisax_find_pci_device(PCI_VENDOR_ID_ZORAN,						PCI_DEVICE_ID_ZORAN_36120, dev_a4t))) {		ret = a4t_pci_probe(dev_a4t, cs, &found, &pci_memaddr);		if (!ret)			return (0);		if (ret > 0)			break;	}	if (!found) {		printk(KERN_WARNING "HiSax: Telekom A4T: Card not found/n");		return (0);	}	if (!pci_memaddr) {		printk(KERN_WARNING "HiSax: Telekom A4T: "		       "No Memory base address/n");		return (0);	}	return a4t_cs_init(card, cs, pci_memaddr);}
开发者ID:openube,项目名称:android_kernel_sony_c2305,代码行数:35,


示例3: setup_sportster

int __initsetup_sportster(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, sportster_revision);	printk(KERN_INFO "HiSax: USR Sportster driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_SPORTSTER)		return (0);	cs->hw.spt.cfg_reg = card->para[1];	cs->irq = card->para[0];	if (!get_io_range(cs))		return (0);	cs->hw.spt.isac = cs->hw.spt.cfg_reg + SPORTSTER_ISAC;	cs->hw.spt.hscx[0] = cs->hw.spt.cfg_reg + SPORTSTER_HSCXA;	cs->hw.spt.hscx[1] = cs->hw.spt.cfg_reg + SPORTSTER_HSCXB;		switch(cs->irq) {		case 5:	cs->hw.spt.res_irq = 1;			break;		case 7:	cs->hw.spt.res_irq = 2;			break;		case 10:cs->hw.spt.res_irq = 3;			break;		case 11:cs->hw.spt.res_irq = 4;			break;		case 12:cs->hw.spt.res_irq = 5;			break;		case 14:cs->hw.spt.res_irq = 6;			break;		case 15:cs->hw.spt.res_irq = 7;			break;		default:release_io_sportster(cs);			printk(KERN_WARNING "Sportster: wrong IRQ/n");			return(0);	}	printk(KERN_INFO "HiSax: %s config irq:%d cfg:0x%X/n",		CardType[cs->typ], cs->irq, cs->hw.spt.cfg_reg);	setup_isac(cs);	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadHSCX;	cs->BC_Write_Reg = &WriteHSCX;	cs->BC_Send_Data = &hscx_fill_fifo;	cs->cardmsg = &Sportster_card_msg;	cs->irq_func = &sportster_interrupt;	ISACVersion(cs, "Sportster:");	if (HscxVersion(cs, "Sportster:")) {		printk(KERN_WARNING		       "Sportster: wrong HSCX versions check IO address/n");		release_io_sportster(cs);		return (0);	}	return (1);}
开发者ID:jameshilliard,项目名称:actiontec_opensrc_mi424wr-rev-ef_fw-20-19-8,代码行数:59,


示例4: setup_saphir

int __initsetup_saphir(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, saphir_rev);	printk(KERN_INFO "HiSax: HST Saphir driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_HSTSAPHIR)		return (0);	/* IO-Ports */	cs->hw.saphir.cfg_reg = card->para[1];	cs->hw.saphir.isac = card->para[1] + ISAC_DATA;	cs->hw.saphir.hscx = card->para[1] + HSCX_DATA;	cs->hw.saphir.ale = card->para[1] + ADDRESS_REG;	cs->irq = card->para[0];	if (check_region((cs->hw.saphir.cfg_reg), 6)) {		printk(KERN_WARNING			"HiSax: %s config port %x-%x already in use/n",			CardType[card->typ],			cs->hw.saphir.cfg_reg,			cs->hw.saphir.cfg_reg + 5);		return (0);	} else		request_region(cs->hw.saphir.cfg_reg,6, "saphir");	printk(KERN_INFO	       "HiSax: %s config irq:%d io:0x%X/n",	       CardType[cs->typ], cs->irq,	       cs->hw.saphir.cfg_reg);	cs->hw.saphir.timer.function = (void *) SaphirWatchDog;	cs->hw.saphir.timer.data = (long) cs;	init_timer(&cs->hw.saphir.timer);	cs->hw.saphir.timer.expires = jiffies + 4*HZ;	add_timer(&cs->hw.saphir.timer);	if (saphir_reset(cs)) {		release_io_saphir(cs);		return (0);	}	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadHSCX;	cs->BC_Write_Reg = &WriteHSCX;	cs->BC_Send_Data = &hscx_fill_fifo;	cs->cardmsg = &saphir_card_msg;	cs->irq_func = &saphir_interrupt;	ISACVersion(cs, "saphir:");	if (HscxVersion(cs, "saphir:")) {		printk(KERN_WARNING		    "saphir: wrong HSCX versions check IO address/n");		release_io_saphir(cs);		return (0);	}	return (1);}
开发者ID:JBTech,项目名称:ralink_rt5350,代码行数:59,


示例5: setup_asuscom

int __initsetup_asuscom(struct IsdnCard *card){	char tmp[64];	strcpy(tmp, Asuscom_revision);	printk(KERN_INFO "HiSax: Asuscom ISDNLink driver Rev. %s/n", HiSax_getrev(tmp));#ifdef __ISAPNP__	if (!card->para[1] && isapnp_present()) {		struct pnp_card *pb;		struct pnp_dev *pd;		while(adev->card_vendor) {			if ((pb = pnp_find_card(adev->card_vendor,						adev->card_device,						pnp_c))) {				pnp_c = pb;				pd = NULL;				if ((pd = pnp_find_dev(pnp_c,						       adev->vendor,						       adev->function,						       pd))) {					printk(KERN_INFO "HiSax: %s detected/n",						(char *)adev->driver_data);					if (pnp_device_attach(pd) < 0) {						printk(KERN_ERR "AsusPnP: attach failed/n");						return 0;					}					if (pnp_activate_dev(pd) < 0) {						printk(KERN_ERR "AsusPnP: activate failed/n");						pnp_device_detach(pd);						return 0;					}					if (!pnp_irq_valid(pd, 0) || !pnp_port_valid(pd, 0)) {						printk(KERN_ERR "AsusPnP:some resources are missing %ld/%lx/n",							pnp_irq(pd, 0), pnp_port_start(pd, 0));						pnp_device_detach(pd);						return(0);					}					card->para[1] = pnp_port_start(pd, 0);					card->para[0] = pnp_irq(pd, 0);					break;				} else {					printk(KERN_ERR "AsusPnP: PnP error card found, no device/n");				}			}			adev++;			pnp_c=NULL;		} 		if (!adev->card_vendor) {			printk(KERN_INFO "AsusPnP: no ISAPnP card found/n");			return(0);		}	}#endif	if (asuscom_probe(card->cs, card) < 0)		return 0;	return 1;}
开发者ID:sarnobat,项目名称:knoppix,代码行数:59,


示例6: setup_avm_a1_pcmcia

int __devinitsetup_avm_a1_pcmcia(struct IsdnCard *card){	u_char model, vers;	struct IsdnCardState *cs = card->cs;	long flags;	char tmp[64];	strcpy(tmp, avm_revision);	printk(KERN_INFO "HiSax: AVM A1 PCMCIA driver Rev. %s/n",						 HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_A1_PCMCIA)		return (0);	cs->hw.avm.cfg_reg = card->para[1];	cs->irq = card->para[0];	save_flags(flags);	outb(cs->hw.avm.cfg_reg+ASL1_OFFSET, ASL1_W_ENABLE_S0);        sti();	byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,0x00);	HZDELAY(HZ / 5 + 1);	byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,ASL0_W_RESET);	HZDELAY(HZ / 5 + 1);	byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET,0x00);	byteout(cs->hw.avm.cfg_reg+ASL0_OFFSET, ASL0_W_TDISABLE|ASL0_W_TRESET);	restore_flags(flags);	model = bytein(cs->hw.avm.cfg_reg+MODREG_OFFSET);	vers = bytein(cs->hw.avm.cfg_reg+VERREG_OFFSET);	printk(KERN_INFO "AVM A1 PCMCIA: io 0x%x irq %d model %d version %d/n",				cs->hw.avm.cfg_reg, cs->irq, model, vers);	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadHSCX;	cs->BC_Write_Reg = &WriteHSCX;	cs->BC_Send_Data = &hscx_fill_fifo;	cs->cardmsg = &AVM_card_msg;	cs->irq_func = &avm_a1p_interrupt;	ISACVersion(cs, "AVM A1 PCMCIA:");	if (HscxVersion(cs, "AVM A1 PCMCIA:")) {		printk(KERN_WARNING		       "AVM A1 PCMCIA: wrong HSCX versions check IO address/n");		return (0);	}	return (1);}
开发者ID:romanalexander,项目名称:Trickles,代码行数:57,


示例7: setup_hfcs

int __initsetup_hfcs(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, hfcs_revision);	printk(KERN_INFO "HiSax: HFC-S driver Rev. %s/n", HiSax_getrev(tmp));	cs->hw.hfcD.addr = card->para[1] & 0xfffe;	cs->irq = card->para[0];	cs->hw.hfcD.cip = 0;	cs->hw.hfcD.int_s1 = 0;	cs->hw.hfcD.send = NULL;	cs->bcs[0].hw.hfc.send = NULL;	cs->bcs[1].hw.hfc.send = NULL;	cs->hw.hfcD.dfifosize = 512;	cs->dc.hfcd.ph_state = 0;	cs->hw.hfcD.fifo = 255;	if (cs->typ == ISDN_CTYPE_TELES3C) {		cs->hw.hfcD.bfifosize = 1024 + 512;	} else if (cs->typ == ISDN_CTYPE_ACERP10) {		cs->hw.hfcD.bfifosize = 7*1024 + 512;	} else		return (0);	if (check_region((cs->hw.hfcD.addr), 2)) {		printk(KERN_WARNING		       "HiSax: %s config port %x-%x already in use/n",		       CardType[card->typ],		       cs->hw.hfcD.addr,		       cs->hw.hfcD.addr + 2);		return (0);	} else {		request_region(cs->hw.hfcD.addr, 2, "HFCS isdn");	}	printk(KERN_INFO	       "HFCS: defined at 0x%x IRQ %d HZ %d/n",	       cs->hw.hfcD.addr,	       cs->irq, HZ);	if (cs->typ == ISDN_CTYPE_TELES3C) {		/* Teles 16.3c IO ADR is 0x200 | YY0U (YY Bit 15/14 address) */		outb(0x00, cs->hw.hfcD.addr);		outb(0x56, cs->hw.hfcD.addr | 1);	} else if (cs->typ == ISDN_CTYPE_ACERP10) {		/* Acer P10 IO ADR is 0x300 */		outb(0x00, cs->hw.hfcD.addr);		outb(0x57, cs->hw.hfcD.addr | 1);	}	set_cs_func(cs);	cs->hw.hfcD.timer.function = (void *) hfcs_Timer;	cs->hw.hfcD.timer.data = (long) cs;	init_timer(&cs->hw.hfcD.timer);	reset_hfcs(cs);	cs->cardmsg = &hfcs_card_msg;	cs->irq_func = &hfcs_interrupt;	return (1);}
开发者ID:TitaniumBoy,项目名称:lin,代码行数:56,


示例8: __initfunc

__initfunc(intsetup_ix1micro(struct IsdnCard *card)){	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, ix1_revision);	printk(KERN_INFO "HiSax: ITK IX1 driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_IX1MICROR2)		return (0);	/* IO-Ports */	cs->hw.ix1.isac_ale = card->para[1] + ISAC_COMMAND_OFFSET;	cs->hw.ix1.hscx_ale = card->para[1] + HSCX_COMMAND_OFFSET;	cs->hw.ix1.isac = card->para[1] + ISAC_DATA_OFFSET;	cs->hw.ix1.hscx = card->para[1] + HSCX_DATA_OFFSET;	cs->hw.ix1.cfg_reg = card->para[1];	cs->irq = card->para[0];	if (cs->hw.ix1.cfg_reg) {		if (check_region((cs->hw.ix1.cfg_reg), 4)) {			printk(KERN_WARNING			  "HiSax: %s config port %x-%x already in use/n",			       CardType[card->typ],			       cs->hw.ix1.cfg_reg,			       cs->hw.ix1.cfg_reg + 4);			return (0);		} else			request_region(cs->hw.ix1.cfg_reg, 4, "ix1micro cfg");	}	printk(KERN_INFO	       "HiSax: %s config irq:%d io:0x%X/n",	       CardType[cs->typ], cs->irq,	       cs->hw.ix1.cfg_reg);	ix1_reset(cs);	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadHSCX;	cs->BC_Write_Reg = &WriteHSCX;	cs->BC_Send_Data = &hscx_fill_fifo;	cs->cardmsg = &ix1_card_msg;	cs->irq_func = &ix1micro_interrupt;	ISACVersion(cs, "ix1-Micro:");	if (HscxVersion(cs, "ix1-Micro:")) {		printk(KERN_WARNING		    "ix1-Micro: wrong HSCX versions check IO address/n");		release_io_ix1micro(cs);		return (0);	}	return (1);}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:52,


示例9: setup_mic

int __initsetup_mic(struct IsdnCard *card){	int bytecnt;	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, mic_revision);	printk(KERN_INFO "HiSax: mic driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_MIC)		return (0);	bytecnt = 8;	cs->hw.mic.cfg_reg = card->para[1];	cs->irq = card->para[0];	cs->hw.mic.adr = cs->hw.mic.cfg_reg + MIC_ADR;	cs->hw.mic.isac = cs->hw.mic.cfg_reg + MIC_ISAC;	cs->hw.mic.hscx = cs->hw.mic.cfg_reg + MIC_HSCX;	if (check_region((cs->hw.mic.cfg_reg), bytecnt)) {		printk(KERN_WARNING		       "HiSax: %s config port %x-%x already in use/n",		       CardType[card->typ],		       cs->hw.mic.cfg_reg,		       cs->hw.mic.cfg_reg + bytecnt);		return (0);	} else {		request_region(cs->hw.mic.cfg_reg, bytecnt, "mic isdn");	}	printk(KERN_INFO	       "mic: defined at 0x%x IRQ %d/n",	       cs->hw.mic.cfg_reg,	       cs->irq);	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadHSCX;	cs->BC_Write_Reg = &WriteHSCX;	cs->BC_Send_Data = &hscx_fill_fifo;	cs->cardmsg = &mic_card_msg;	cs->irq_func = &mic_interrupt;	ISACVersion(cs, "mic:");	if (HscxVersion(cs, "mic:")) {		printk(KERN_WARNING		    "mic: wrong HSCX versions check IO address/n");		release_io_mic(cs);		return (0);	}	return (1);}
开发者ID:dmgerman,项目名称:linux-pre-history,代码行数:52,


示例10: HiSaxVersion

static void __init HiSaxVersion(void){	char tmp[64];	printk(KERN_INFO "HiSax: Linux Driver for passive ISDN cards/n");#ifdef MODULE	printk(KERN_INFO "HiSax: Version 3.5 (module)/n");#else	printk(KERN_INFO "HiSax: Version 3.5 (kernel)/n");#endif	strcpy(tmp, l1_revision);	printk(KERN_INFO "HiSax: Layer1 Revision %s/n", HiSax_getrev(tmp));	strcpy(tmp, l2_revision);	printk(KERN_INFO "HiSax: Layer2 Revision %s/n", HiSax_getrev(tmp));	strcpy(tmp, tei_revision);	printk(KERN_INFO "HiSax: TeiMgr Revision %s/n", HiSax_getrev(tmp));	strcpy(tmp, l3_revision);	printk(KERN_INFO "HiSax: Layer3 Revision %s/n", HiSax_getrev(tmp));	strcpy(tmp, lli_revision);	printk(KERN_INFO "HiSax: LinkLayer Revision %s/n",	       HiSax_getrev(tmp));}
开发者ID:asmalldev,项目名称:linux,代码行数:22,


示例11: setup_saphir

int __initsetup_saphir(struct IsdnCard *card){	char tmp[64];	strcpy(tmp, saphir_rev);	printk(KERN_INFO "HiSax: HST Saphir driver Rev. %s/n",	       HiSax_getrev(tmp));	if (saphir_probe(card->cs, card) < 0)		return 0;	return 1;}
开发者ID:xricson,项目名称:knoppix,代码行数:13,


示例12: setup_t163c

int __init setup_t163c(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, teles163c_revision);	printk(KERN_INFO "HiSax: Teles 16.3c driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_TELES3C)		return (0);	cs->debug = 0xff;	cs->hw.hfcD.addr = card->para[1] & 0xfffe;	cs->irq = card->para[0];	cs->hw.hfcD.cip = 0;	cs->hw.hfcD.int_s1 = 0;	cs->hw.hfcD.send = NULL;	cs->bcs[0].hw.hfc.send = NULL;	cs->bcs[1].hw.hfc.send = NULL;	cs->hw.hfcD.bfifosize = 1024 + 512;	cs->hw.hfcD.dfifosize = 512;	cs->ph_state = 0;	cs->hw.hfcD.fifo = 255;	if (check_region((cs->hw.hfcD.addr), 2)) {		printk(KERN_WARNING		       "HiSax: %s config port %x-%x already in use/n",		       CardType[card->typ],		       cs->hw.hfcD.addr,		       cs->hw.hfcD.addr + 2);		return (0);	} else {		request_region(cs->hw.hfcD.addr, 2, "teles3c isdn");	}	/* Teles 16.3c IO ADR is 0x200 | YY0U (YY Bit 15/14 address) */	outb(0x00, cs->hw.hfcD.addr);	outb(0x56, cs->hw.hfcD.addr | 1);	printk(KERN_INFO	       "teles3c: defined at 0x%x IRQ %d HZ %d/n",	       cs->hw.hfcD.addr,	       cs->irq, HZ);	set_cs_func(cs);	cs->hw.hfcD.timer.function = (void *) t163c_Timer;	cs->hw.hfcD.timer.data = (long) cs;	init_timer(&cs->hw.hfcD.timer);	reset_t163c(cs);	cs->cardmsg = &t163c_card_msg;	return (1);}
开发者ID:davidbau,项目名称:davej,代码行数:48,


示例13: setstack_1tr6

voidsetstack_1tr6(struct PStack *st){	char tmp[64];	st->lli.l4l3 = down1tr6;	st->l2.l2l3 = up1tr6;	st->l3.l3ml3 = man1tr6;	st->l3.N303 = 0;	strcpy(tmp, l3_1tr6_revision);#ifdef CONFIG_DEBUG_PRINTK	printk(KERN_INFO "HiSax: 1TR6 Rev. %s/n", HiSax_getrev(tmp));#else	;#endif}
开发者ID:Epirex,项目名称:Chrono_Kernel-1,代码行数:17,


示例14: setup_netjet_s

int __devinitsetup_netjet_s(struct IsdnCard *card){	int ret;	struct IsdnCardState *cs = card->cs;	char tmp[64];#ifdef __BIG_ENDIAN#error "not running on big endian machines now"#endif	strcpy(tmp, NETjet_S_revision);#ifdef CONFIG_DEBUG_PRINTK	printk(KERN_INFO "HiSax: Traverse Tech. NETjet-S driver Rev. %s/n", HiSax_getrev(tmp));#else	;#endif	if (cs->typ != ISDN_CTYPE_NETJET_S)		return(0);	test_and_clear_bit(FLG_LOCK_ATOMIC, &cs->HW_Flags);	for ( ;; )	{		if ((dev_netjet = hisax_find_pci_device(PCI_VENDOR_ID_TIGERJET,			PCI_DEVICE_ID_TIGERJET_300,  dev_netjet))) {			ret = njs_pci_probe(dev_netjet, cs);			if (!ret)				return(0);		} else {#ifdef CONFIG_DEBUG_PRINTK			printk(KERN_WARNING "NETjet-S: No PCI card found/n");#else			;#endif			return(0);		}		ret = njs_cs_init(card, cs);		if (!ret)			return(0);		if (ret > 0)			break;		/* otherwise, ret < 0, continue looping */	}	return njs_cs_init_rest(card, cs);}
开发者ID:Epirex,项目名称:Chrono_Kernel-1,代码行数:46,


示例15: setup_diva

int __devinitsetup_diva(struct IsdnCard *card){	int rc, have_card = 0;	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, Diva_revision);	printk(KERN_INFO "HiSax: Eicon.Diehl Diva driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_DIEHLDIVA)		return(0);	cs->hw.diva.status = 0;	rc = setup_diva_isa(card);	if (!rc)		return rc;	if (rc > 0) {		have_card = 1;		goto ready;	}	rc = setup_diva_isapnp(card);	if (!rc)		return rc;	if (rc > 0) {		have_card = 1;		goto ready;	}	rc = setup_diva_pci(card);	if (!rc)		return rc;	if (rc > 0)		have_card = 1;ready:	if (!have_card) {		printk(KERN_WARNING "Diva: No ISA, ISAPNP or PCI card found/n");		return(0);	}	return setup_diva_common(card->cs);}
开发者ID:emuikernel,项目名称:WNR2000v4,代码行数:43,


示例16: setup_elsa

int __devinitsetup_elsa(struct IsdnCard *card){	long flags;	int bytecnt;	u_char val;	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, Elsa_revision);	printk(KERN_INFO "HiSax: Elsa driver Rev. %s/n", HiSax_getrev(tmp));	cs->hw.elsa.ctrl_reg = 0;	cs->hw.elsa.status = 0;	cs->hw.elsa.MFlag = 0;	cs->subtyp = 0;	if (cs->typ == ISDN_CTYPE_ELSA) {		cs->hw.elsa.base = card->para[0];		printk(KERN_INFO "Elsa: Microlink IO probing/n");		if (cs->hw.elsa.base) {			if (!(cs->subtyp = probe_elsa_adr(cs->hw.elsa.base,							  cs->typ))) {				printk(KERN_WARNING				       "Elsa: no Elsa Microlink at %#lx/n",				       cs->hw.elsa.base);				return (0);			}		} else			cs->hw.elsa.base = probe_elsa(cs);		if (cs->hw.elsa.base) {			cs->hw.elsa.cfg = cs->hw.elsa.base + ELSA_CONFIG;			cs->hw.elsa.ctrl = cs->hw.elsa.base + ELSA_CONTROL;			cs->hw.elsa.ale = cs->hw.elsa.base + ELSA_ALE;			cs->hw.elsa.isac = cs->hw.elsa.base + ELSA_ISAC;			cs->hw.elsa.itac = cs->hw.elsa.base + ELSA_ITAC;			cs->hw.elsa.hscx = cs->hw.elsa.base + ELSA_HSCX;			cs->hw.elsa.trig = cs->hw.elsa.base + ELSA_TRIG_IRQ;			cs->hw.elsa.timer = cs->hw.elsa.base + ELSA_START_TIMER;			val = bytein(cs->hw.elsa.cfg);			if (cs->subtyp == ELSA_PC) {				const u_char CARD_IrqTab[8] =				{7, 3, 5, 9, 0, 0, 0, 0};				cs->irq = CARD_IrqTab[(val & ELSA_IRQ_IDX_PC) >> 2];			} else if (cs->subtyp == ELSA_PCC8) {
开发者ID:GunioRobot,项目名称:MI424WR_GEN2_Rev_E-F,代码行数:43,


示例17: setup_netjet_u

int __initsetup_netjet_u(struct IsdnCard *card){	char tmp[64];#ifdef __BIG_ENDIAN#error "not running on big endian machines now"#endif	strcpy(tmp, NETjet_U_revision);	printk(KERN_INFO "HiSax: Traverse Tech. NETspider-U driver Rev. %s/n",	       HiSax_getrev(tmp));		dev_netjet = pci_find_device(PCI_VENDOR_ID_TIGERJET,				     PCI_DEVICE_ID_TIGERJET_300, dev_netjet);	if (dev_netjet) {		if (nj_u_probe(card->cs, dev_netjet))			return 1;		return 0;	}	printk(KERN_WARNING "NETspider-U: No PCI card found/n");	return 0;}
开发者ID:xricson,项目名称:knoppix,代码行数:21,


示例18: setstack_1tr6

voidsetstack_1tr6(struct PStack *st){	char tmp[64];	st->l4.l4l3 = down1tr6;	st->l2.l2l3 = up1tr6;	st->l3.t303 = 4000;	st->l3.t304 = 20000;	st->l3.t305 = 4000;	st->l3.t308 = 4000;	st->l3.t310 = 120000;	st->l3.t313 = 4000;	st->l3.t318 = 4000;	st->l3.t319 = 4000;	st->l3.n_t303 = 0;	if (st->l3.channr & 1) {		strcpy(tmp, l3_1tr6_revision);		printk(KERN_NOTICE "HiSax: 1TR6 Rev. %s/n", HiSax_getrev(tmp));	}}
开发者ID:rohsaini,项目名称:mkunity,代码行数:22,


示例19: setup_telespci

int __initsetup_telespci(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];#ifdef __BIG_ENDIAN#error "not running on big endian machines now"#endif	strcpy(tmp, telespci_revision);	printk(KERN_INFO "HiSax: Teles/PCI driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_TELESPCI)		return (0);#if CONFIG_PCI	if (!pci_present()) {		printk(KERN_ERR "TelesPCI: no PCI bus present/n");		return(0);	}	if ((dev_tel = pci_find_device (PCI_VENDOR_ID_ZORAN, PCI_DEVICE_ID_ZORAN_36120, dev_tel))) {		if (pci_enable_device(dev_tel))			return(0);		cs->irq = dev_tel->irq;		if (!cs->irq) {			printk(KERN_WARNING "Teles: No IRQ for PCI card found/n");			return(0);		}		cs->hw.teles0.membase = (u_long) ioremap(pci_resource_start(dev_tel, 0),			PAGE_SIZE);		printk(KERN_INFO "Found: Zoran, base-address: 0x%lx, irq: 0x%x/n",			pci_resource_start(dev_tel, 0), dev_tel->irq);	} else {		printk(KERN_WARNING "TelesPCI: No PCI card found/n");		return(0);	}#else	printk(KERN_WARNING "HiSax: Teles/PCI and NO_PCI_BIOS/n");	printk(KERN_WARNING "HiSax: Teles/PCI unable to config/n");	return (0);#endif /* CONFIG_PCI */	/* Initialize Zoran PCI controller */	writel(0x00000000, cs->hw.teles0.membase + 0x28);	writel(0x01000000, cs->hw.teles0.membase + 0x28);	writel(0x01000000, cs->hw.teles0.membase + 0x28);	writel(0x7BFFFFFF, cs->hw.teles0.membase + 0x2C);	writel(0x70000000, cs->hw.teles0.membase + 0x3C);	writel(0x61000000, cs->hw.teles0.membase + 0x40);	/* writel(0x00800000, cs->hw.teles0.membase + 0x200); */	printk(KERN_INFO	       "HiSax: %s config irq:%d mem:%lx/n",	       CardType[cs->typ], cs->irq,	       cs->hw.teles0.membase);	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadHSCX;	cs->BC_Write_Reg = &WriteHSCX;	cs->BC_Send_Data = &hscx_fill_fifo;	cs->cardmsg = &TelesPCI_card_msg;	cs->irq_func = &telespci_interrupt;	cs->irq_flags |= SA_SHIRQ;	ISACVersion(cs, "TelesPCI:");	if (HscxVersion(cs, "TelesPCI:")) {		printk(KERN_WARNING		 "TelesPCI: wrong HSCX versions check IO/MEM addresses/n");		release_io_telespci(cs);		return (0);	}	return (1);}
开发者ID:JBTech,项目名称:ralink_rt5350,代码行数:73,


示例20: setup_teles3

int __devinitsetup_teles3(struct IsdnCard *card){	u_char val;	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, teles3_revision);	printk(KERN_INFO "HiSax: Teles IO driver Rev. %s/n", HiSax_getrev(tmp));	if ((cs->typ != ISDN_CTYPE_16_3) && (cs->typ != ISDN_CTYPE_PNP)	    && (cs->typ != ISDN_CTYPE_TELESPCMCIA) && (cs->typ != ISDN_CTYPE_COMPAQ_ISA))		return (0);#ifdef __ISAPNP__	if (!card->para[1] && isapnp_present()) {		struct pnp_dev *pnp_d;		while(ipid->card_vendor) {			if ((pnp_c = pnp_find_card(ipid->card_vendor,				ipid->card_device, pnp_c))) {				pnp_d = NULL;				if ((pnp_d = pnp_find_dev(pnp_c,					ipid->vendor, ipid->function, pnp_d))) {					int err;					printk(KERN_INFO "HiSax: %s detected/n",						(char *)ipid->driver_data);					pnp_disable_dev(pnp_d);					err = pnp_activate_dev(pnp_d);					if (err<0) {						printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)/n",							__FUNCTION__, err);						return(0);					}					card->para[3] = pnp_port_start(pnp_d, 2);					card->para[2] = pnp_port_start(pnp_d, 1);					card->para[1] = pnp_port_start(pnp_d, 0);					card->para[0] = pnp_irq(pnp_d, 0);					if (!card->para[0] || !card->para[1] || !card->para[2]) {						printk(KERN_ERR "Teles PnP:some resources are missing %ld/%lx/%lx/n",							card->para[0], card->para[1], card->para[2]);						pnp_disable_dev(pnp_d);						return(0);					}					break;				} else {					printk(KERN_ERR "Teles PnP: PnP error card found, no device/n");				}			}			ipid++;			pnp_c = NULL;		} 		if (!ipid->card_vendor) {			printk(KERN_INFO "Teles PnP: no ISAPnP card found/n");			return(0);		}	}#endif	if (cs->typ == ISDN_CTYPE_16_3) {		cs->hw.teles3.cfg_reg = card->para[1];		switch (cs->hw.teles3.cfg_reg) {			case 0x180:			case 0x280:			case 0x380:				cs->hw.teles3.cfg_reg |= 0xc00;				break;		}		cs->hw.teles3.isac = cs->hw.teles3.cfg_reg - 0x420;		cs->hw.teles3.hscx[0] = cs->hw.teles3.cfg_reg - 0xc20;		cs->hw.teles3.hscx[1] = cs->hw.teles3.cfg_reg - 0x820;	} else if (cs->typ == ISDN_CTYPE_TELESPCMCIA) {		cs->hw.teles3.cfg_reg = 0;		cs->hw.teles3.hscx[0] = card->para[1] - 0x20;		cs->hw.teles3.hscx[1] = card->para[1];		cs->hw.teles3.isac = card->para[1] + 0x20;	} else if (cs->typ == ISDN_CTYPE_COMPAQ_ISA) {		cs->hw.teles3.cfg_reg = card->para[3];		cs->hw.teles3.isac = card->para[2] - 32;		cs->hw.teles3.hscx[0] = card->para[1] - 32;		cs->hw.teles3.hscx[1] = card->para[1];	} else {	/* PNP */		cs->hw.teles3.cfg_reg = 0;		cs->hw.teles3.isac = card->para[1] - 32;		cs->hw.teles3.hscx[0] = card->para[2] - 32;		cs->hw.teles3.hscx[1] = card->para[2];	}	cs->irq = card->para[0];	cs->hw.teles3.isacfifo = cs->hw.teles3.isac + 0x3e;	cs->hw.teles3.hscxfifo[0] = cs->hw.teles3.hscx[0] + 0x3e;	cs->hw.teles3.hscxfifo[1] = cs->hw.teles3.hscx[1] + 0x3e;	if (cs->typ == ISDN_CTYPE_TELESPCMCIA) {		if (!request_region(cs->hw.teles3.hscx[1], 96, "HiSax Teles PCMCIA")) {			printk(KERN_WARNING			       "HiSax: %s ports %x-%x already in use/n",			       CardType[cs->typ],			       cs->hw.teles3.hscx[1],			       cs->hw.teles3.hscx[1] + 96);			return (0);		}	} else {		if (cs->hw.teles3.cfg_reg) {//.........这里部分代码省略.........
开发者ID:BackupTheBerlios,项目名称:tew632-brp-svn,代码行数:101,


示例21: setup_ix1micro

int __devinitsetup_ix1micro(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, ix1_revision);	printk(KERN_INFO "HiSax: ITK IX1 driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_IX1MICROR2)		return (0);#ifdef __ISAPNP__	if (!card->para[1] && isapnp_present()) {		struct pnp_dev *pnp_d;		while(ipid->card_vendor) {			if ((pnp_c = pnp_find_card(ipid->card_vendor,				ipid->card_device, pnp_c))) {				pnp_d = NULL;				if ((pnp_d = pnp_find_dev(pnp_c,					ipid->vendor, ipid->function, pnp_d))) {					int err;					printk(KERN_INFO "HiSax: %s detected/n",						(char *)ipid->driver_data);					pnp_disable_dev(pnp_d);					err = pnp_activate_dev(pnp_d);					if (err<0) {						printk(KERN_WARNING "%s: pnp_activate_dev ret(%d)/n",							__FUNCTION__, err);						return(0);					}					card->para[1] = pnp_port_start(pnp_d, 0);					card->para[0] = pnp_irq(pnp_d, 0);					if (!card->para[0] || !card->para[1]) {						printk(KERN_ERR "ITK PnP:some resources are missing %ld/%lx/n",							card->para[0], card->para[1]);						pnp_disable_dev(pnp_d);						return(0);					}					break;				} else {					printk(KERN_ERR "ITK PnP: PnP error card found, no device/n");				}			}			ipid++;			pnp_c = NULL;		} 		if (!ipid->card_vendor) {			printk(KERN_INFO "ITK PnP: no ISAPnP card found/n");			return(0);		}	}#endif	/* IO-Ports */	cs->hw.ix1.isac_ale = card->para[1] + ISAC_COMMAND_OFFSET;	cs->hw.ix1.hscx_ale = card->para[1] + HSCX_COMMAND_OFFSET;	cs->hw.ix1.isac = card->para[1] + ISAC_DATA_OFFSET;	cs->hw.ix1.hscx = card->para[1] + HSCX_DATA_OFFSET;	cs->hw.ix1.cfg_reg = card->para[1];	cs->irq = card->para[0];	if (cs->hw.ix1.cfg_reg) {		if (!request_region(cs->hw.ix1.cfg_reg, 4, "ix1micro cfg")) {			printk(KERN_WARNING			  "HiSax: %s config port %x-%x already in use/n",			       CardType[card->typ],			       cs->hw.ix1.cfg_reg,			       cs->hw.ix1.cfg_reg + 4);			return (0);		}	}	printk(KERN_INFO "HiSax: %s config irq:%d io:0x%X/n",		CardType[cs->typ], cs->irq, cs->hw.ix1.cfg_reg);	setup_isac(cs);	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadHSCX;	cs->BC_Write_Reg = &WriteHSCX;	cs->BC_Send_Data = &hscx_fill_fifo;	cs->cardmsg = &ix1_card_msg;	cs->irq_func = &ix1micro_interrupt;	ISACVersion(cs, "ix1-Micro:");	if (HscxVersion(cs, "ix1-Micro:")) {		printk(KERN_WARNING		    "ix1-Micro: wrong HSCX versions check IO address/n");		release_io_ix1micro(cs);		return (0);	}	return (1);}
开发者ID:ManiacTwister,项目名称:linux-hnd,代码行数:91,


示例22: setup_bkm_a4t

int __initsetup_bkm_a4t(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];	u_int pci_memaddr = 0, found = 0;	I20_REGISTER_FILE *pI20_Regs;#if CONFIG_PCI#endif	strcpy(tmp, bkm_a4t_revision);	printk(KERN_INFO "HiSax: T-Berkom driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ == ISDN_CTYPE_BKM_A4T) {		cs->subtyp = BKM_A4T;	} else		return (0);#if CONFIG_PCI	if (!pci_present()) {		printk(KERN_ERR "bkm_a4t: no PCI bus present/n");		return (0);	}	while ((dev_a4t = pci_find_device(PCI_VENDOR_ID_ZORAN,		PCI_DEVICE_ID_ZORAN_36120, dev_a4t))) {		u16 sub_sys;		u16 sub_vendor;		sub_vendor = dev_a4t->subsystem_vendor;		sub_sys = dev_a4t->subsystem_device;		if ((sub_sys == PCI_DEVICE_ID_BERKOM_A4T) && (sub_vendor == PCI_VENDOR_ID_BERKOM)) {			if (pci_enable_device(dev_a4t))				return(0);			found = 1;			pci_memaddr = pci_resource_start(dev_a4t, 0);			cs->irq = dev_a4t->irq;			break;		}	}	if (!found) {		printk(KERN_WARNING "HiSax: %s: Card not found/n", CardType[card->typ]);		return (0);	}	if (!cs->irq) {		/* IRQ range check ?? */		printk(KERN_WARNING "HiSax: %s: No IRQ/n", CardType[card->typ]);		return (0);	}	if (!pci_memaddr) {		printk(KERN_WARNING "HiSax: %s: No Memory base address/n", CardType[card->typ]);		return (0);	}	cs->hw.ax.base = (long) ioremap(pci_memaddr, 4096);	/* Check suspecious address */	pI20_Regs = (I20_REGISTER_FILE *) (cs->hw.ax.base);	if ((pI20_Regs->i20IntStatus & 0x8EFFFFFF) != 0) {		printk(KERN_WARNING "HiSax: %s address %lx-%lx suspecious/n",		       CardType[card->typ], cs->hw.ax.base, cs->hw.ax.base + 4096);		iounmap((void *) cs->hw.ax.base);		cs->hw.ax.base = 0;		return (0);	}	cs->hw.ax.isac_adr = cs->hw.ax.base + PO_OFFSET;	cs->hw.ax.jade_adr = cs->hw.ax.base + PO_OFFSET;	cs->hw.ax.isac_ale = GCS_1;	cs->hw.ax.jade_ale = GCS_3;#else	printk(KERN_WARNING "HiSax: %s: NO_PCI_BIOS/n", CardType[card->typ]);	printk(KERN_WARNING "HiSax: %s: unable to configure/n", CardType[card->typ]);	return (0);#endif				/* CONFIG_PCI */	printk(KERN_INFO "HiSax: %s: Card configured at 0x%lX IRQ %d/n",	       CardType[card->typ], cs->hw.ax.base, cs->irq);	reset_bkm(cs);	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadJADE;	cs->BC_Write_Reg = &WriteJADE;	cs->BC_Send_Data = &jade_fill_fifo;	cs->cardmsg = &BKM_card_msg;	cs->irq_func = &bkm_interrupt;	cs->irq_flags |= SA_SHIRQ;	ISACVersion(cs, "Telekom A4T:");	/* Jade version */	JadeVersion(cs, "Telekom A4T:");	return (1);}
开发者ID:SimonKagstrom,项目名称:mci500h-linux-2.4.27,代码行数:88,


示例23: setup_avm_a1

int __initsetup_avm_a1(struct IsdnCard *card){	u_char val;	struct IsdnCardState *cs = card->cs;	long flags;	char tmp[64];	strcpy(tmp, avm_revision);	printk(KERN_INFO "HiSax: AVM driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_A1)		return (0);	cs->hw.avm.cfg_reg = card->para[1] + 0x1800;	cs->hw.avm.isac = card->para[1] + 0x1400 - 0x20;	cs->hw.avm.hscx[0] = card->para[1] + 0x400 - 0x20;	cs->hw.avm.hscx[1] = card->para[1] + 0xc00 - 0x20;	cs->hw.avm.isacfifo = card->para[1] + 0x1000;	cs->hw.avm.hscxfifo[0] = card->para[1];	cs->hw.avm.hscxfifo[1] = card->para[1] + 0x800;	cs->irq = card->para[0];	if (check_region((cs->hw.avm.cfg_reg), 8)) {		printk(KERN_WARNING		       "HiSax: %s config port %x-%x already in use/n",		       CardType[card->typ],		       cs->hw.avm.cfg_reg,		       cs->hw.avm.cfg_reg + 8);		return (0);	} else {		request_region(cs->hw.avm.cfg_reg, 8, "avm cfg");	}	if (check_region((cs->hw.avm.isac + 32), 32)) {		printk(KERN_WARNING		       "HiSax: %s isac ports %x-%x already in use/n",		       CardType[cs->typ],		       cs->hw.avm.isac + 32,		       cs->hw.avm.isac + 64);		release_ioregs(cs, 0);		return (0);	} else {		request_region(cs->hw.avm.isac + 32, 32, "HiSax isac");	}	if (check_region((cs->hw.avm.isacfifo), 1)) {		printk(KERN_WARNING		       "HiSax: %s isac fifo port %x already in use/n",		       CardType[cs->typ],		       cs->hw.avm.isacfifo);		release_ioregs(cs, 1);		return (0);	} else {		request_region(cs->hw.avm.isacfifo, 1, "HiSax isac fifo");	}	if (check_region((cs->hw.avm.hscx[0]) + 32, 32)) {		printk(KERN_WARNING		       "HiSax: %s hscx A ports %x-%x already in use/n",		       CardType[cs->typ],		       cs->hw.avm.hscx[0] + 32,		       cs->hw.avm.hscx[0] + 64);		release_ioregs(cs, 3);		return (0);	} else {		request_region(cs->hw.avm.hscx[0] + 32, 32, "HiSax hscx A");	}	if (check_region(cs->hw.avm.hscxfifo[0], 1)) {		printk(KERN_WARNING		       "HiSax: %s hscx A fifo port %x already in use/n",		       CardType[cs->typ],		       cs->hw.avm.hscxfifo[0]);		release_ioregs(cs, 7);		return (0);	} else {		request_region(cs->hw.avm.hscxfifo[0], 1, "HiSax hscx A fifo");	}	if (check_region(cs->hw.avm.hscx[1] + 32, 32)) {		printk(KERN_WARNING		       "HiSax: %s hscx B ports %x-%x already in use/n",		       CardType[cs->typ],		       cs->hw.avm.hscx[1] + 32,		       cs->hw.avm.hscx[1] + 64);		release_ioregs(cs, 0xf);		return (0);	} else {		request_region(cs->hw.avm.hscx[1] + 32, 32, "HiSax hscx B");	}	if (check_region(cs->hw.avm.hscxfifo[1], 1)) {		printk(KERN_WARNING		       "HiSax: %s hscx B fifo port %x already in use/n",		       CardType[cs->typ],		       cs->hw.avm.hscxfifo[1]);		release_ioregs(cs, 0x1f);		return (0);	} else {		request_region(cs->hw.avm.hscxfifo[1], 1, "HiSax hscx B fifo");	}	save_flags(flags);	byteout(cs->hw.avm.cfg_reg, 0x0);	sti();	HZDELAY(HZ / 5 + 1);	byteout(cs->hw.avm.cfg_reg, 0x1);	HZDELAY(HZ / 5 + 1);//.........这里部分代码省略.........
开发者ID:fgeraci,项目名称:cs518-sched,代码行数:101,


示例24: setup_netjet_u

int __initsetup_netjet_u(struct IsdnCard *card){	int bytecnt;	struct IsdnCardState *cs = card->cs;	char tmp[64];#ifdef CONFIG_PCI#endif#ifdef __BIG_ENDIAN#error "not running on big endian machines now"#endif	strcpy(tmp, NETjet_U_revision);	printk(KERN_INFO "HiSax: Traverse Tech. NETspider-U driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_NETJET_U)		return(0);	test_and_clear_bit(FLG_LOCK_ATOMIC, &cs->HW_Flags);#ifdef CONFIG_PCI	for ( ;; )	{		if ((dev_netjet = pci_find_device(PCI_VENDOR_ID_TIGERJET,			PCI_DEVICE_ID_TIGERJET_300,  dev_netjet))) {			if (pci_enable_device(dev_netjet))				return(0);			pci_set_master(dev_netjet);			cs->irq = dev_netjet->irq;			if (!cs->irq) {				printk(KERN_WARNING "NETspider-U: No IRQ for PCI card found/n");				return(0);			}			cs->hw.njet.base = pci_resource_start(dev_netjet, 0);			if (!cs->hw.njet.base) {				printk(KERN_WARNING "NETspider-U: No IO-Adr for PCI card found/n");				return(0);			}		} else {			printk(KERN_WARNING "NETspider-U: No PCI card found/n");			return(0);		}		cs->hw.njet.auxa = cs->hw.njet.base + NETJET_AUXDATA;		cs->hw.njet.isac = cs->hw.njet.base | NETJET_ISAC_OFF;		mdelay(10);		cs->hw.njet.ctrl_reg = 0xff;  /* Reset On */		byteout(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg);		mdelay(10);		cs->hw.njet.ctrl_reg = 0x00;  /* Reset Off and status read clear */		byteout(cs->hw.njet.base + NETJET_CTRL, cs->hw.njet.ctrl_reg);		mdelay(10);		cs->hw.njet.auxd = 0xC0;		cs->hw.njet.dmactrl = 0;		byteout(cs->hw.njet.auxa, 0);		byteout(cs->hw.njet.base + NETJET_AUXCTRL, ~NETJET_ISACIRQ);		byteout(cs->hw.njet.base + NETJET_IRQMASK1, NETJET_ISACIRQ);		byteout(cs->hw.njet.auxa, cs->hw.njet.auxd);		switch ( ( ( NETjet_ReadIC( cs, ICC_RBCH ) >> 5 ) & 3 ) )		{			case 3 :				break;			case 0 :				printk( KERN_WARNING "NETspider-U: NETjet-S PCI card found/n" );				continue;			default :				printk( KERN_WARNING "NETspider-U: No PCI card found/n" );				return 0;                }                break;	}#else	printk(KERN_WARNING "NETspider-U: NO_PCI_BIOS/n");	printk(KERN_WARNING "NETspider-U: unable to config NETspider-U PCI/n");	return (0);#endif /* CONFIG_PCI */	bytecnt = 256;	printk(KERN_INFO		"NETspider-U: PCI card configured at %#lx IRQ %d/n",		cs->hw.njet.base, cs->irq);	if (!request_region(cs->hw.njet.base, bytecnt, "netspider-u isdn")) {		printk(KERN_WARNING		       "HiSax: %s config port %#lx-%#lx already in use/n",		       CardType[card->typ],		       cs->hw.njet.base,		       cs->hw.njet.base + bytecnt);		return (0);	}	setup_icc(cs);	cs->readisac  = &NETjet_ReadIC;	cs->writeisac = &NETjet_WriteIC;//.........这里部分代码省略.........
开发者ID:ena30,项目名称:snake-os,代码行数:101,


示例25: setup_TeleInt

int __devinitsetup_TeleInt(struct IsdnCard *card){    struct IsdnCardState *cs = card->cs;    char tmp[64];    strcpy(tmp, TeleInt_revision);    printk(KERN_INFO "HiSax: TeleInt driver Rev. %s/n", HiSax_getrev(tmp));    if (cs->typ != ISDN_CTYPE_TELEINT)        return (0);    cs->hw.hfc.addr = card->para[1] & 0x3fe;    cs->irq = card->para[0];    cs->hw.hfc.cirm = HFC_CIRM;    cs->hw.hfc.isac_spcr = 0x00;    cs->hw.hfc.cip = 0;    cs->hw.hfc.ctmt = HFC_CTMT | HFC_CLTIMER;    cs->bcs[0].hw.hfc.send = NULL;    cs->bcs[1].hw.hfc.send = NULL;    cs->hw.hfc.fifosize = 7 * 1024 + 512;    cs->hw.hfc.timer.function = (void *) TeleInt_Timer;    cs->hw.hfc.timer.data = (long) cs;    init_timer(&cs->hw.hfc.timer);    if (!request_region(cs->hw.hfc.addr, 2, "TeleInt isdn")) {        printk(KERN_WARNING               "HiSax: TeleInt config port %x-%x already in use/n",               cs->hw.hfc.addr,               cs->hw.hfc.addr + 2);        return (0);    }    /* HW IO = IO */    byteout(cs->hw.hfc.addr, cs->hw.hfc.addr & 0xff);    byteout(cs->hw.hfc.addr | 1, ((cs->hw.hfc.addr & 0x300) >> 8) | 0x54);    switch (cs->irq) {        case 3:            cs->hw.hfc.cirm |= HFC_INTA;            break;        case 4:            cs->hw.hfc.cirm |= HFC_INTB;            break;        case 5:            cs->hw.hfc.cirm |= HFC_INTC;            break;        case 7:            cs->hw.hfc.cirm |= HFC_INTD;            break;        case 10:            cs->hw.hfc.cirm |= HFC_INTE;            break;        case 11:            cs->hw.hfc.cirm |= HFC_INTF;            break;        default:            printk(KERN_WARNING "TeleInt: wrong IRQ/n");            release_io_TeleInt(cs);            return (0);    }    byteout(cs->hw.hfc.addr | 1, cs->hw.hfc.cirm);    byteout(cs->hw.hfc.addr | 1, cs->hw.hfc.ctmt);    printk(KERN_INFO "TeleInt: defined at 0x%x IRQ %d/n",        cs->hw.hfc.addr, cs->irq);    setup_isac(cs);    cs->readisac = &ReadISAC;    cs->writeisac = &WriteISAC;    cs->readisacfifo = &ReadISACfifo;    cs->writeisacfifo = &WriteISACfifo;    cs->BC_Read_Reg = &ReadHFC;    cs->BC_Write_Reg = &WriteHFC;    cs->cardmsg = &TeleInt_card_msg;    cs->irq_func = &TeleInt_interrupt;    ISACVersion(cs, "TeleInt:");    return (1);}
开发者ID:274914765,项目名称:C,代码行数:75,


示例26: setup_isurf

int __devinitsetup_isurf(struct IsdnCard *card){	int ver;	struct IsdnCardState *cs = card->cs;	char tmp[64];	strcpy(tmp, ISurf_revision);	printk(KERN_INFO "HiSax: ISurf driver Rev. %s/n", HiSax_getrev(tmp));	 	if (cs->typ != ISDN_CTYPE_ISURF) 		return(0);	if (card->para[1] && card->para[2]) {		cs->hw.isurf.reset = card->para[1];		cs->hw.isurf.phymem = card->para[2];		cs->irq = card->para[0];	} else {#ifdef __ISAPNP__		if (isapnp_present()) {			struct pnp_dev *pnp_d = NULL;			int err;			cs->subtyp = 0;			if ((pnp_c = pnp_find_card(				ISAPNP_VENDOR('S', 'I', 'E'),				ISAPNP_FUNCTION(0x0010), pnp_c))) {				if (!(pnp_d = pnp_find_dev(pnp_c,					ISAPNP_VENDOR('S', 'I', 'E'),					ISAPNP_FUNCTION(0x0010), pnp_d))) {					printk(KERN_ERR "ISurfPnP: PnP error card found, no device/n");					return (0);				}				pnp_disable_dev(pnp_d);				err = pnp_activate_dev(pnp_d);				cs->hw.isurf.reset = pnp_port_start(pnp_d, 0);				cs->hw.isurf.phymem = pnp_mem_start(pnp_d, 1);				cs->irq = pnp_irq(pnp_d, 0);				if (!cs->irq || !cs->hw.isurf.reset || !cs->hw.isurf.phymem) {					printk(KERN_ERR "ISurfPnP:some resources are missing %d/%x/%lx/n",						cs->irq, cs->hw.isurf.reset, cs->hw.isurf.phymem);					pnp_disable_dev(pnp_d);					return(0);				}			} else {				printk(KERN_INFO "ISurfPnP: no ISAPnP card found/n");				return(0);			}		} else {			printk(KERN_INFO "ISurfPnP: no ISAPnP bus found/n");			return(0);		}#else		printk(KERN_WARNING "HiSax: Siemens I-Surf port/mem not set/n");		return (0);#endif	}	if (!request_region(cs->hw.isurf.reset, 1, "isurf isdn")) {		printk(KERN_WARNING			"HiSax: Siemens I-Surf config port %x already in use/n",			cs->hw.isurf.reset);			return (0);	}	if (!request_region(cs->hw.isurf.phymem, ISURF_IOMEM_SIZE, "isurf iomem")) {		printk(KERN_WARNING "HiSax: Siemens I-Surf memory region "			"%lx-%lx already in use/n",			cs->hw.isurf.phymem,			cs->hw.isurf.phymem + ISURF_IOMEM_SIZE);		release_region(cs->hw.isurf.reset, 1);		return (0);	}	cs->hw.isurf.isar = ioremap(cs->hw.isurf.phymem, ISURF_IOMEM_SIZE);	cs->hw.isurf.isac = cs->hw.isurf.isar + ISURF_ISAC_OFFSET;	printk(KERN_INFO	       "ISurf: defined at 0x%x 0x%lx IRQ %d/n",	       cs->hw.isurf.reset,	       cs->hw.isurf.phymem,	       cs->irq);	setup_isac(cs);	cs->cardmsg = &ISurf_card_msg;	cs->irq_func = &isurf_interrupt;	cs->auxcmd = &isurf_auxcmd;	cs->readisac = &ReadISAC;	cs->writeisac = &WriteISAC;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->bcs[0].hw.isar.reg = &cs->hw.isurf.isar_r;	cs->bcs[1].hw.isar.reg = &cs->hw.isurf.isar_r;	test_and_set_bit(HW_ISAR, &cs->HW_Flags);	ISACVersion(cs, "ISurf:");	cs->BC_Read_Reg = &ReadISAR;	cs->BC_Write_Reg = &WriteISAR;	cs->BC_Send_Data = &isar_fill_fifo;	ver = ISARVersion(cs, "ISurf:");	if (ver < 0) {		printk(KERN_WARNING			"ISurf: wrong ISAR version (ret = %d)/n", ver);		release_io_isurf(cs);		return (0);	}//.........这里部分代码省略.........
开发者ID:robacklin,项目名称:ts4700,代码行数:101,


示例27: setup_w6692

int __init setup_w6692(struct IsdnCard *card){	struct IsdnCardState *cs = card->cs;	char tmp[64];	u_char found = 0;	u_char pci_irq = 0;	u_int pci_ioaddr = 0;#ifdef __BIG_ENDIAN#error "not running on big endian machines now"#endif	strcpy(tmp, w6692_revision);	printk(KERN_INFO "HiSax: W6692 driver Rev. %s/n", HiSax_getrev(tmp));	if (cs->typ != ISDN_CTYPE_W6692)		return (0);#if CONFIG_PCI	if (!pci_present()) {		printk(KERN_ERR "W6692: no PCI bus present/n");		return (0);	}	while (id_list[id_idx].vendor_id) {		dev_w6692 = pci_find_device(id_list[id_idx].vendor_id,					    id_list[id_idx].device_id,					    dev_w6692);		if (dev_w6692) {			if (pci_enable_device(dev_w6692))				continue;			cs->subtyp = id_idx;			break;		}		id_idx++;	}	if (dev_w6692) {		found = 1;		pci_irq = dev_w6692->irq;		/* I think address 0 is allways the configuration area */		/* and address 1 is the real IO space KKe 03.09.99 */		pci_ioaddr = pci_resource_start(dev_w6692, 1);		/* USR ISDN PCI card TA need some special handling */		if (cs->subtyp == W6692_WINBOND) {			if ((W6692_SV_USR == dev_w6692->subsystem_vendor) &&			    (W6692_SD_USR == dev_w6692->subsystem_device)) {				cs->subtyp = W6692_USR;			}		}	}	if (!found) {		printk(KERN_WARNING "W6692: No PCI card found/n");		return (0);	}	cs->irq = pci_irq;	if (!cs->irq) {		printk(KERN_WARNING "W6692: No IRQ for PCI card found/n");		return (0);	}	if (!pci_ioaddr) {		printk(KERN_WARNING "W6692: NO I/O Base Address found/n");		return (0);	}	cs->hw.w6692.iobase = pci_ioaddr;	printk(KERN_INFO "Found: %s %s, I/O base: 0x%x, irq: %d/n",	       id_list[cs->subtyp].vendor_name, id_list[cs->subtyp].card_name,	       pci_ioaddr, pci_irq);	if (check_region((cs->hw.w6692.iobase), 256)) {		printk(KERN_WARNING		       "HiSax: %s I/O ports %x-%x already in use/n",		       id_list[cs->subtyp].card_name,		       cs->hw.w6692.iobase,		       cs->hw.w6692.iobase + 255);		return (0);	} else {		request_region(cs->hw.w6692.iobase, 256,			       id_list[cs->subtyp].card_name);	}#else	printk(KERN_WARNING "HiSax: W6692 and NO_PCI_BIOS/n");	printk(KERN_WARNING "HiSax: W6692 unable to config/n");	return (0);#endif				/* CONFIG_PCI */	printk(KERN_INFO	       "HiSax: %s config irq:%d I/O:%x/n",	       id_list[cs->subtyp].card_name, cs->irq,	       cs->hw.w6692.iobase);	cs->readW6692 = &ReadW6692;	cs->writeW6692 = &WriteW6692;	cs->readisacfifo = &ReadISACfifo;	cs->writeisacfifo = &WriteISACfifo;	cs->BC_Read_Reg = &ReadW6692B;	cs->BC_Write_Reg = &WriteW6692B;	cs->BC_Send_Data = &W6692B_fill_fifo;	cs->cardmsg = &w6692_card_msg;	cs->irq_func = &W6692_interrupt;	cs->irq_flags |= SA_SHIRQ;	W6692Version(cs, "W6692:");	printk(KERN_INFO "W6692 ISTA=0x%X/n", ReadW6692(cs, W_ISTA));	printk(KERN_INFO "W6692 IMASK=0x%X/n", ReadW6692(cs, W_IMASK));	printk(KERN_INFO "W6692 D_EXIR=0x%X/n", ReadW6692(cs, W_D_EXIR));//.........这里部分代码省略.........
开发者ID:jameshilliard,项目名称:actiontec_opensource_mi424wr-rev-acd-56-0-10-14-4,代码行数:101,



注:本文中的HiSax_getrev函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ Hide函数代码示例
C++ HexDump函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。