Beispiel #1
0
int avmb1_detectcard(int port, int irq, int cardtype)
{
	int rc;

	if (!B1_valid_irq(irq, cardtype)) {
		printk(KERN_WARNING "b1capi: irq %d not valid for %s-card.\n",
				irq, cardtype2str(cardtype));
		return -EIO;
	}
	if ((rc = B1_detect(port, cardtype)) != 0) {
		printk(KERN_NOTICE "b1capi: NO %s-card at 0x%x (%d)\n",
					  cardtype2str(cardtype), port, rc);
		return -EIO;
	}
	B1_reset(port);
	switch (cardtype) {
		default:
	   	case AVM_CARDTYPE_M1:
	   	case AVM_CARDTYPE_M2:
	   	case AVM_CARDTYPE_B1:
	    		printk(KERN_NOTICE "b1capi: AVM-%s-Controller detected at 0x%x\n", cardtype2str(cardtype), port);
			break;
	   	case AVM_CARDTYPE_T1:
	    		printk(KERN_NOTICE "b1capi: AVM-%s-Controller may be at 0x%x\n", cardtype2str(cardtype), port);
			break;
	}

	return 0;
}
Beispiel #2
0
int avmb1_probecard(int port, int irq)
{
	int rc;

	if (check_region((unsigned short) port, AVMB1_PORTLEN)) {
		printk(KERN_WARNING
		       "b1capi: ports 0x%03x-0x%03x in use.\n",
		       portbase, portbase + AVMB1_PORTLEN);
		return -EIO;
	}
	if (!B1_valid_irq(irq)) {
		printk(KERN_WARNING "b1capi: irq %d not valid.\n", irq);
		return -EIO;
	}
	if ((rc = B1_detect(port)) != 0) {
		printk(KERN_NOTICE "b1capi: NO card at 0x%x (%d)\n", port, rc);
		return -EIO;
	}
	B1_reset(port);
	printk(KERN_NOTICE "b1capi: AVM-B1-Controller detected at 0x%x\n", port);

	return 0;
}