]> git.neil.brown.name Git - history.git/commitdiff
ISDN: AVM T1 ISA CAPI controller fix
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Fri, 17 May 2002 15:23:54 +0000 (10:23 -0500)
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Fri, 17 May 2002 15:23:54 +0000 (10:23 -0500)
Pass the jumpered cardnr as parameter.

drivers/isdn/hardware/avm/t1isa.c

index b08440b4fb7fc099bd30e0d4022b0bed08f18b33..4a11997167552b1b3171df8c3791fd6c06cb951d 100644 (file)
@@ -345,12 +345,11 @@ static void t1isa_remove(struct pci_dev *pdev)
 
 /* ------------------------------------------------------------- */
 
-static int __init t1isa_probe(struct pci_dev *pdev)
+static int __init t1isa_probe(struct pci_dev *pdev, int cardnr)
 {
        avmctrl_info *cinfo;
        avmcard *card;
        int retval;
-       static int cardnr = 1;
 
        card = b1_alloc_card(1);
        if (!card) {
@@ -363,7 +362,7 @@ static int __init t1isa_probe(struct pci_dev *pdev)
        card->port = pci_resource_start(pdev, 0);
        card->irq = pdev->irq;
        card->cardtype = avm_t1isa;
-       card->cardnr = cardnr++;
+       card->cardnr = cardnr;
        sprintf(card->name, "t1isa-%x", card->port);
 
        if (!(((card->port & 0x7) == 0) && ((card->port & 0x30) != 0x30))) {
@@ -505,11 +504,14 @@ static struct capi_driver t1isa_driver = {
 static struct pci_dev isa_dev[MAX_CARDS];
 static int io[MAX_CARDS];
 static int irq[MAX_CARDS];
+static int cardnr[MAX_CARDS];
 
 MODULE_PARM(io, "1-" __MODULE_STRING(MAX_CARDS) "i");
 MODULE_PARM(irq, "1-" __MODULE_STRING(MAX_CARDS) "i");
+MODULE_PARM(cardnr, "1-" __MODULE_STRING(MAX_CARDS) "i");
 MODULE_PARM_DESC(io, "I/O base address(es)");
 MODULE_PARM_DESC(irq, "IRQ number(s) (assigned)");
+MODULE_PARM_DESC(cardnr, "Card number(s) (as jumpered)");
 
 static int __init t1isa_init(void)
 {
@@ -526,7 +528,7 @@ static int __init t1isa_init(void)
                isa_dev[i].resource[0].start = io[i];
                isa_dev[i].irq_resource[0].start = irq[i];
 
-               if (t1isa_probe(&isa_dev[i]) == 0)
+               if (t1isa_probe(&isa_dev[i], cardnr[i]) == 0)
                        found++;
        }
        if (found == 0) {