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; }
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; }