diff options
Diffstat (limited to 'drivers/isdn/hisax/bkm_a8.c')
-rw-r--r-- | drivers/isdn/hisax/bkm_a8.c | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/drivers/isdn/hisax/bkm_a8.c b/drivers/isdn/hisax/bkm_a8.c index 99ef3b43fcd7..e1ff4717a8a6 100644 --- a/drivers/isdn/hisax/bkm_a8.c +++ b/drivers/isdn/hisax/bkm_a8.c | |||
@@ -22,8 +22,6 @@ | |||
22 | 22 | ||
23 | #define ATTEMPT_PCI_REMAPPING /* Required for PLX rev 1 */ | 23 | #define ATTEMPT_PCI_REMAPPING /* Required for PLX rev 1 */ |
24 | 24 | ||
25 | extern const char *CardType[]; | ||
26 | |||
27 | static const char sct_quadro_revision[] = "$Revision: 1.22.2.4 $"; | 25 | static const char sct_quadro_revision[] = "$Revision: 1.22.2.4 $"; |
28 | 26 | ||
29 | static const char *sct_quadro_subtypes[] = | 27 | static const char *sct_quadro_subtypes[] = |
@@ -181,8 +179,7 @@ bkm_interrupt_ipac(int intno, void *dev_id) | |||
181 | goto Start_IPAC; | 179 | goto Start_IPAC; |
182 | } | 180 | } |
183 | if (!icnt) | 181 | if (!icnt) |
184 | printk(KERN_WARNING "HiSax: %s (%s) IRQ LOOP\n", | 182 | printk(KERN_WARNING "HiSax: Scitel Quadro (%s) IRQ LOOP\n", |
185 | CardType[cs->typ], | ||
186 | sct_quadro_subtypes[cs->subtyp]); | 183 | sct_quadro_subtypes[cs->subtyp]); |
187 | writereg(cs->hw.ax.base, cs->hw.ax.data_adr, IPAC_MASK, 0xFF); | 184 | writereg(cs->hw.ax.base, cs->hw.ax.data_adr, IPAC_MASK, 0xFF); |
188 | writereg(cs->hw.ax.base, cs->hw.ax.data_adr, IPAC_MASK, 0xC0); | 185 | writereg(cs->hw.ax.base, cs->hw.ax.data_adr, IPAC_MASK, 0xC0); |
@@ -296,8 +293,8 @@ setup_sct_quadro(struct IsdnCard *card) | |||
296 | if (card->para[0] >= SCT_1 && card->para[0] <= SCT_4) | 293 | if (card->para[0] >= SCT_1 && card->para[0] <= SCT_4) |
297 | cs->subtyp = card->para[0]; | 294 | cs->subtyp = card->para[0]; |
298 | else { | 295 | else { |
299 | printk(KERN_WARNING "HiSax: %s: Invalid subcontroller in configuration, default to 1\n", | 296 | printk(KERN_WARNING "HiSax: Scitel Quadro: Invalid " |
300 | CardType[card->typ]); | 297 | "subcontroller in configuration, default to 1\n"); |
301 | return (0); | 298 | return (0); |
302 | } | 299 | } |
303 | if ((cs->subtyp != SCT_1) && ((sub_sys_id != PCI_DEVICE_ID_BERKOM_SCITEL_QUADRO) || | 300 | if ((cs->subtyp != SCT_1) && ((sub_sys_id != PCI_DEVICE_ID_BERKOM_SCITEL_QUADRO) || |
@@ -322,16 +319,16 @@ setup_sct_quadro(struct IsdnCard *card) | |||
322 | } | 319 | } |
323 | } | 320 | } |
324 | if (!found) { | 321 | if (!found) { |
325 | printk(KERN_WARNING "HiSax: %s (%s): Card not found\n", | 322 | printk(KERN_WARNING "HiSax: Scitel Quadro (%s): " |
326 | CardType[card->typ], | 323 | "Card not found\n", |
327 | sct_quadro_subtypes[cs->subtyp]); | 324 | sct_quadro_subtypes[cs->subtyp]); |
328 | return (0); | 325 | return (0); |
329 | } | 326 | } |
330 | #ifdef ATTEMPT_PCI_REMAPPING | 327 | #ifdef ATTEMPT_PCI_REMAPPING |
331 | /* HACK: PLX revision 1 bug: PLX address bit 7 must not be set */ | 328 | /* HACK: PLX revision 1 bug: PLX address bit 7 must not be set */ |
332 | if ((pci_ioaddr1 & 0x80) && (dev_a8->revision == 1)) { | 329 | if ((pci_ioaddr1 & 0x80) && (dev_a8->revision == 1)) { |
333 | printk(KERN_WARNING "HiSax: %s (%s): PLX rev 1, remapping required!\n", | 330 | printk(KERN_WARNING "HiSax: Scitel Quadro (%s): " |
334 | CardType[card->typ], | 331 | "PLX rev 1, remapping required!\n", |
335 | sct_quadro_subtypes[cs->subtyp]); | 332 | sct_quadro_subtypes[cs->subtyp]); |
336 | /* Restart PCI negotiation */ | 333 | /* Restart PCI negotiation */ |
337 | pci_write_config_dword(dev_a8, PCI_BASE_ADDRESS_1, (u_int) - 1); | 334 | pci_write_config_dword(dev_a8, PCI_BASE_ADDRESS_1, (u_int) - 1); |
@@ -344,8 +341,7 @@ setup_sct_quadro(struct IsdnCard *card) | |||
344 | #endif /* End HACK */ | 341 | #endif /* End HACK */ |
345 | } | 342 | } |
346 | if (!pci_irq) { /* IRQ range check ?? */ | 343 | if (!pci_irq) { /* IRQ range check ?? */ |
347 | printk(KERN_WARNING "HiSax: %s (%s): No IRQ\n", | 344 | printk(KERN_WARNING "HiSax: Scitel Quadro (%s): No IRQ\n", |
348 | CardType[card->typ], | ||
349 | sct_quadro_subtypes[cs->subtyp]); | 345 | sct_quadro_subtypes[cs->subtyp]); |
350 | return (0); | 346 | return (0); |
351 | } | 347 | } |
@@ -355,8 +351,8 @@ setup_sct_quadro(struct IsdnCard *card) | |||
355 | pci_read_config_dword(dev_a8, PCI_BASE_ADDRESS_4, &pci_ioaddr4); | 351 | pci_read_config_dword(dev_a8, PCI_BASE_ADDRESS_4, &pci_ioaddr4); |
356 | pci_read_config_dword(dev_a8, PCI_BASE_ADDRESS_5, &pci_ioaddr5); | 352 | pci_read_config_dword(dev_a8, PCI_BASE_ADDRESS_5, &pci_ioaddr5); |
357 | if (!pci_ioaddr1 || !pci_ioaddr2 || !pci_ioaddr3 || !pci_ioaddr4 || !pci_ioaddr5) { | 353 | if (!pci_ioaddr1 || !pci_ioaddr2 || !pci_ioaddr3 || !pci_ioaddr4 || !pci_ioaddr5) { |
358 | printk(KERN_WARNING "HiSax: %s (%s): No IO base address(es)\n", | 354 | printk(KERN_WARNING "HiSax: Scitel Quadro (%s): " |
359 | CardType[card->typ], | 355 | "No IO base address(es)\n", |
360 | sct_quadro_subtypes[cs->subtyp]); | 356 | sct_quadro_subtypes[cs->subtyp]); |
361 | return (0); | 357 | return (0); |
362 | } | 358 | } |
@@ -411,8 +407,8 @@ setup_sct_quadro(struct IsdnCard *card) | |||
411 | /* For isac and hscx data path */ | 407 | /* For isac and hscx data path */ |
412 | cs->hw.ax.data_adr = cs->hw.ax.base + 4; | 408 | cs->hw.ax.data_adr = cs->hw.ax.base + 4; |
413 | 409 | ||
414 | printk(KERN_INFO "HiSax: %s (%s) configured at 0x%.4lX, 0x%.4lX, 0x%.4lX and IRQ %d\n", | 410 | printk(KERN_INFO "HiSax: Scitel Quadro (%s) configured at " |
415 | CardType[card->typ], | 411 | "0x%.4lX, 0x%.4lX, 0x%.4lX and IRQ %d\n", |
416 | sct_quadro_subtypes[cs->subtyp], | 412 | sct_quadro_subtypes[cs->subtyp], |
417 | cs->hw.ax.plx_adr, | 413 | cs->hw.ax.plx_adr, |
418 | cs->hw.ax.base, | 414 | cs->hw.ax.base, |
@@ -432,8 +428,7 @@ setup_sct_quadro(struct IsdnCard *card) | |||
432 | cs->cardmsg = &BKM_card_msg; | 428 | cs->cardmsg = &BKM_card_msg; |
433 | cs->irq_func = &bkm_interrupt_ipac; | 429 | cs->irq_func = &bkm_interrupt_ipac; |
434 | 430 | ||
435 | printk(KERN_INFO "HiSax: %s (%s): IPAC Version %d\n", | 431 | printk(KERN_INFO "HiSax: Scitel Quadro (%s): IPAC Version %d\n", |
436 | CardType[card->typ], | ||
437 | sct_quadro_subtypes[cs->subtyp], | 432 | sct_quadro_subtypes[cs->subtyp], |
438 | readreg(cs->hw.ax.base, cs->hw.ax.data_adr, IPAC_ID)); | 433 | readreg(cs->hw.ax.base, cs->hw.ax.data_adr, IPAC_ID)); |
439 | return (1); | 434 | return (1); |