diff options
-rw-r--r-- | drivers/serial/8250_pci.c | 109 |
1 files changed, 54 insertions, 55 deletions
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index 0a4ac2b6eb5a..a8bec498cad6 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c | |||
@@ -140,7 +140,7 @@ afavlab_setup(struct serial_private *priv, struct pciserial_board *board, | |||
140 | struct uart_port *port, int idx) | 140 | struct uart_port *port, int idx) |
141 | { | 141 | { |
142 | unsigned int bar, offset = board->first_offset; | 142 | unsigned int bar, offset = board->first_offset; |
143 | 143 | ||
144 | bar = FL_GET_BASE(board->flags); | 144 | bar = FL_GET_BASE(board->flags); |
145 | if (idx < 4) | 145 | if (idx < 4) |
146 | bar += idx; | 146 | bar += idx; |
@@ -227,8 +227,8 @@ static int pci_inteli960ni_init(struct pci_dev *dev) | |||
227 | return -ENODEV; | 227 | return -ENODEV; |
228 | 228 | ||
229 | /* is firmware started? */ | 229 | /* is firmware started? */ |
230 | pci_read_config_dword(dev, 0x44, (void*) &oldval); | 230 | pci_read_config_dword(dev, 0x44, (void *)&oldval); |
231 | if (oldval == 0x00001000L) { /* RESET value */ | 231 | if (oldval == 0x00001000L) { /* RESET value */ |
232 | printk(KERN_DEBUG "Local i960 firmware missing"); | 232 | printk(KERN_DEBUG "Local i960 firmware missing"); |
233 | return -ENODEV; | 233 | return -ENODEV; |
234 | } | 234 | } |
@@ -253,11 +253,11 @@ static int pci_plx9050_init(struct pci_dev *dev) | |||
253 | 253 | ||
254 | irq_config = 0x41; | 254 | irq_config = 0x41; |
255 | if (dev->vendor == PCI_VENDOR_ID_PANACOM || | 255 | if (dev->vendor == PCI_VENDOR_ID_PANACOM || |
256 | dev->subsystem_vendor == PCI_SUBVENDOR_ID_EXSYS) { | 256 | dev->subsystem_vendor == PCI_SUBVENDOR_ID_EXSYS) |
257 | irq_config = 0x43; | 257 | irq_config = 0x43; |
258 | } | 258 | |
259 | if ((dev->vendor == PCI_VENDOR_ID_PLX) && | 259 | if ((dev->vendor == PCI_VENDOR_ID_PLX) && |
260 | (dev->device == PCI_DEVICE_ID_PLX_ROMULUS)) { | 260 | (dev->device == PCI_DEVICE_ID_PLX_ROMULUS)) |
261 | /* | 261 | /* |
262 | * As the megawolf cards have the int pins active | 262 | * As the megawolf cards have the int pins active |
263 | * high, and have 2 UART chips, both ints must be | 263 | * high, and have 2 UART chips, both ints must be |
@@ -267,8 +267,6 @@ static int pci_plx9050_init(struct pci_dev *dev) | |||
267 | * deep FIFOs | 267 | * deep FIFOs |
268 | */ | 268 | */ |
269 | irq_config = 0x5b; | 269 | irq_config = 0x5b; |
270 | } | ||
271 | |||
272 | /* | 270 | /* |
273 | * enable/disable interrupts | 271 | * enable/disable interrupts |
274 | */ | 272 | */ |
@@ -343,14 +341,14 @@ static int sbs_init(struct pci_dev *dev) | |||
343 | { | 341 | { |
344 | u8 __iomem *p; | 342 | u8 __iomem *p; |
345 | 343 | ||
346 | p = ioremap(pci_resource_start(dev, 0),pci_resource_len(dev,0)); | 344 | p = ioremap(pci_resource_start(dev, 0), pci_resource_len(dev, 0)); |
347 | 345 | ||
348 | if (p == NULL) | 346 | if (p == NULL) |
349 | return -ENOMEM; | 347 | return -ENOMEM; |
350 | /* Set bit-4 Control Register (UART RESET) in to reset the uarts */ | 348 | /* Set bit-4 Control Register (UART RESET) in to reset the uarts */ |
351 | writeb(0x10,p + OCT_REG_CR_OFF); | 349 | writeb(0x10, p + OCT_REG_CR_OFF); |
352 | udelay(50); | 350 | udelay(50); |
353 | writeb(0x0,p + OCT_REG_CR_OFF); | 351 | writeb(0x0, p + OCT_REG_CR_OFF); |
354 | 352 | ||
355 | /* Set bit-2 (INTENABLE) of Control Register */ | 353 | /* Set bit-2 (INTENABLE) of Control Register */ |
356 | writeb(0x4, p + OCT_REG_CR_OFF); | 354 | writeb(0x4, p + OCT_REG_CR_OFF); |
@@ -367,10 +365,10 @@ static void __devexit sbs_exit(struct pci_dev *dev) | |||
367 | { | 365 | { |
368 | u8 __iomem *p; | 366 | u8 __iomem *p; |
369 | 367 | ||
370 | p = ioremap(pci_resource_start(dev, 0),pci_resource_len(dev,0)); | 368 | p = ioremap(pci_resource_start(dev, 0), pci_resource_len(dev, 0)); |
371 | if (p != NULL) { | 369 | /* FIXME: What if resource_len < OCT_REG_CR_OFF */ |
370 | if (p != NULL) | ||
372 | writeb(0, p + OCT_REG_CR_OFF); | 371 | writeb(0, p + OCT_REG_CR_OFF); |
373 | } | ||
374 | iounmap(p); | 372 | iounmap(p); |
375 | } | 373 | } |
376 | 374 | ||
@@ -386,7 +384,7 @@ static void __devexit sbs_exit(struct pci_dev *dev) | |||
386 | * with other OSes (like M$ DOS). | 384 | * with other OSes (like M$ DOS). |
387 | * | 385 | * |
388 | * SIIG support added by Andrey Panin <pazke@donpac.ru>, 10/1999 | 386 | * SIIG support added by Andrey Panin <pazke@donpac.ru>, 10/1999 |
389 | * | 387 | * |
390 | * There is two family of SIIG serial cards with different PCI | 388 | * There is two family of SIIG serial cards with different PCI |
391 | * interface chip and different configuration methods: | 389 | * interface chip and different configuration methods: |
392 | * - 10x cards have control registers in IO and/or memory space; | 390 | * - 10x cards have control registers in IO and/or memory space; |
@@ -489,21 +487,21 @@ static const unsigned short timedia_single_port[] = { | |||
489 | 487 | ||
490 | static const unsigned short timedia_dual_port[] = { | 488 | static const unsigned short timedia_dual_port[] = { |
491 | 0x0002, 0x4036, 0x4037, 0x4038, 0x4078, 0x4079, 0x4085, | 489 | 0x0002, 0x4036, 0x4037, 0x4038, 0x4078, 0x4079, 0x4085, |
492 | 0x4088, 0x4089, 0x5037, 0x5078, 0x5079, 0x5085, 0x6079, | 490 | 0x4088, 0x4089, 0x5037, 0x5078, 0x5079, 0x5085, 0x6079, |
493 | 0x7079, 0x8079, 0x8137, 0x8138, 0x8237, 0x8238, 0x9079, | 491 | 0x7079, 0x8079, 0x8137, 0x8138, 0x8237, 0x8238, 0x9079, |
494 | 0x9137, 0x9138, 0x9237, 0x9238, 0xA079, 0xB079, 0xC079, | 492 | 0x9137, 0x9138, 0x9237, 0x9238, 0xA079, 0xB079, 0xC079, |
495 | 0xD079, 0 | 493 | 0xD079, 0 |
496 | }; | 494 | }; |
497 | 495 | ||
498 | static const unsigned short timedia_quad_port[] = { | 496 | static const unsigned short timedia_quad_port[] = { |
499 | 0x4055, 0x4056, 0x4095, 0x4096, 0x5056, 0x8156, 0x8157, | 497 | 0x4055, 0x4056, 0x4095, 0x4096, 0x5056, 0x8156, 0x8157, |
500 | 0x8256, 0x8257, 0x9056, 0x9156, 0x9157, 0x9158, 0x9159, | 498 | 0x8256, 0x8257, 0x9056, 0x9156, 0x9157, 0x9158, 0x9159, |
501 | 0x9256, 0x9257, 0xA056, 0xA157, 0xA158, 0xA159, 0xB056, | 499 | 0x9256, 0x9257, 0xA056, 0xA157, 0xA158, 0xA159, 0xB056, |
502 | 0xB157, 0 | 500 | 0xB157, 0 |
503 | }; | 501 | }; |
504 | 502 | ||
505 | static const unsigned short timedia_eight_port[] = { | 503 | static const unsigned short timedia_eight_port[] = { |
506 | 0x4065, 0x4066, 0x5065, 0x5066, 0x8166, 0x9066, 0x9166, | 504 | 0x4065, 0x4066, 0x5065, 0x5066, 0x8166, 0x9066, 0x9166, |
507 | 0x9167, 0x9168, 0xA066, 0xA167, 0xA168, 0 | 505 | 0x9167, 0x9168, 0xA066, 0xA167, 0xA168, 0 |
508 | }; | 506 | }; |
509 | 507 | ||
@@ -656,7 +654,8 @@ static int pci_ite887x_init(struct pci_dev *dev) | |||
656 | ITE_887x_POSIO_ENABLE | ITE_887x_POSIO_SPEED | | 654 | ITE_887x_POSIO_ENABLE | ITE_887x_POSIO_SPEED | |
657 | ITE_887x_POSIO_IOSIZE_32 | inta_addr[i]); | 655 | ITE_887x_POSIO_IOSIZE_32 | inta_addr[i]); |
658 | /* write INTCBAR - ioport */ | 656 | /* write INTCBAR - ioport */ |
659 | pci_write_config_dword(dev, ITE_887x_INTCBAR, inta_addr[i]); | 657 | pci_write_config_dword(dev, ITE_887x_INTCBAR, |
658 | inta_addr[i]); | ||
660 | ret = inb(inta_addr[i]); | 659 | ret = inb(inta_addr[i]); |
661 | if (ret != 0xff) { | 660 | if (ret != 0xff) { |
662 | /* ioport connected */ | 661 | /* ioport connected */ |
@@ -755,7 +754,7 @@ pci_default_setup(struct serial_private *priv, struct pciserial_board *board, | |||
755 | 754 | ||
756 | if (board->flags & FL_REGION_SZ_CAP && idx >= maxnr) | 755 | if (board->flags & FL_REGION_SZ_CAP && idx >= maxnr) |
757 | return 1; | 756 | return 1; |
758 | 757 | ||
759 | return setup_port(priv, port, bar, offset, board->reg_shift); | 758 | return setup_port(priv, port, bar, offset, board->reg_shift); |
760 | } | 759 | } |
761 | 760 | ||
@@ -843,7 +842,7 @@ static struct pci_serial_quirk pci_serial_quirks[] = { | |||
843 | .init = pci_plx9050_init, | 842 | .init = pci_plx9050_init, |
844 | .setup = pci_default_setup, | 843 | .setup = pci_default_setup, |
845 | .exit = __devexit_p(pci_plx9050_exit), | 844 | .exit = __devexit_p(pci_plx9050_exit), |
846 | }, | 845 | }, |
847 | { | 846 | { |
848 | .vendor = PCI_VENDOR_ID_PANACOM, | 847 | .vendor = PCI_VENDOR_ID_PANACOM, |
849 | .device = PCI_DEVICE_ID_PANACOM_DUALMODEM, | 848 | .device = PCI_DEVICE_ID_PANACOM_DUALMODEM, |
@@ -1032,7 +1031,7 @@ static struct pci_serial_quirk *find_quirk(struct pci_dev *dev) | |||
1032 | quirk_id_matches(quirk->device, dev->device) && | 1031 | quirk_id_matches(quirk->device, dev->device) && |
1033 | quirk_id_matches(quirk->subvendor, dev->subsystem_vendor) && | 1032 | quirk_id_matches(quirk->subvendor, dev->subsystem_vendor) && |
1034 | quirk_id_matches(quirk->subdevice, dev->subsystem_device)) | 1033 | quirk_id_matches(quirk->subdevice, dev->subsystem_device)) |
1035 | break; | 1034 | break; |
1036 | return quirk; | 1035 | return quirk; |
1037 | } | 1036 | } |
1038 | 1037 | ||
@@ -1711,7 +1710,7 @@ static struct pciserial_board pci_boards[] __devinitdata = { | |||
1711 | }; | 1710 | }; |
1712 | 1711 | ||
1713 | static const struct pci_device_id softmodem_blacklist[] = { | 1712 | static const struct pci_device_id softmodem_blacklist[] = { |
1714 | { PCI_VDEVICE ( AL, 0x5457 ), }, /* ALi Corporation M5457 AC'97 Modem */ | 1713 | { PCI_VDEVICE(AL, 0x5457), }, /* ALi Corporation M5457 AC'97 Modem */ |
1715 | }; | 1714 | }; |
1716 | 1715 | ||
1717 | /* | 1716 | /* |
@@ -1724,13 +1723,13 @@ serial_pci_guess_board(struct pci_dev *dev, struct pciserial_board *board) | |||
1724 | { | 1723 | { |
1725 | const struct pci_device_id *blacklist; | 1724 | const struct pci_device_id *blacklist; |
1726 | int num_iomem, num_port, first_port = -1, i; | 1725 | int num_iomem, num_port, first_port = -1, i; |
1727 | 1726 | ||
1728 | /* | 1727 | /* |
1729 | * If it is not a communications device or the programming | 1728 | * If it is not a communications device or the programming |
1730 | * interface is greater than 6, give up. | 1729 | * interface is greater than 6, give up. |
1731 | * | 1730 | * |
1732 | * (Should we try to make guesses for multiport serial devices | 1731 | * (Should we try to make guesses for multiport serial devices |
1733 | * later?) | 1732 | * later?) |
1734 | */ | 1733 | */ |
1735 | if ((((dev->class >> 8) != PCI_CLASS_COMMUNICATION_SERIAL) && | 1734 | if ((((dev->class >> 8) != PCI_CLASS_COMMUNICATION_SERIAL) && |
1736 | ((dev->class >> 8) != PCI_CLASS_COMMUNICATION_MODEM)) || | 1735 | ((dev->class >> 8) != PCI_CLASS_COMMUNICATION_MODEM)) || |
@@ -1863,25 +1862,23 @@ pciserial_init_ports(struct pci_dev *dev, struct pciserial_board *board) | |||
1863 | break; | 1862 | break; |
1864 | 1863 | ||
1865 | #ifdef SERIAL_DEBUG_PCI | 1864 | #ifdef SERIAL_DEBUG_PCI |
1866 | printk("Setup PCI port: port %x, irq %d, type %d\n", | 1865 | printk(KERN_DEBUG "Setup PCI port: port %x, irq %d, type %d\n", |
1867 | serial_port.iobase, serial_port.irq, serial_port.iotype); | 1866 | serial_port.iobase, serial_port.irq, serial_port.iotype); |
1868 | #endif | 1867 | #endif |
1869 | 1868 | ||
1870 | priv->line[i] = serial8250_register_port(&serial_port); | 1869 | priv->line[i] = serial8250_register_port(&serial_port); |
1871 | if (priv->line[i] < 0) { | 1870 | if (priv->line[i] < 0) { |
1872 | printk(KERN_WARNING "Couldn't register serial port %s: %d\n", pci_name(dev), priv->line[i]); | 1871 | printk(KERN_WARNING "Couldn't register serial port %s: %d\n", pci_name(dev), priv->line[i]); |
1873 | break; | 1872 | break; |
1874 | } | 1873 | } |
1875 | } | 1874 | } |
1876 | |||
1877 | priv->nr = i; | 1875 | priv->nr = i; |
1878 | |||
1879 | return priv; | 1876 | return priv; |
1880 | 1877 | ||
1881 | err_deinit: | 1878 | err_deinit: |
1882 | if (quirk->exit) | 1879 | if (quirk->exit) |
1883 | quirk->exit(dev); | 1880 | quirk->exit(dev); |
1884 | err_out: | 1881 | err_out: |
1885 | return priv; | 1882 | return priv; |
1886 | } | 1883 | } |
1887 | EXPORT_SYMBOL_GPL(pciserial_init_ports); | 1884 | EXPORT_SYMBOL_GPL(pciserial_init_ports); |
@@ -2171,22 +2168,22 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
2171 | pbn_b0_8_1843200_200 }, | 2168 | pbn_b0_8_1843200_200 }, |
2172 | 2169 | ||
2173 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_U530, | 2170 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_U530, |
2174 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2171 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2175 | pbn_b2_bt_1_115200 }, | 2172 | pbn_b2_bt_1_115200 }, |
2176 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM2, | 2173 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM2, |
2177 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2174 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2178 | pbn_b2_bt_2_115200 }, | 2175 | pbn_b2_bt_2_115200 }, |
2179 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM422, | 2176 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM422, |
2180 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2177 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2181 | pbn_b2_bt_4_115200 }, | 2178 | pbn_b2_bt_4_115200 }, |
2182 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM232, | 2179 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM232, |
2183 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2180 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2184 | pbn_b2_bt_2_115200 }, | 2181 | pbn_b2_bt_2_115200 }, |
2185 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_COMM4, | 2182 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_COMM4, |
2186 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2183 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2187 | pbn_b2_bt_4_115200 }, | 2184 | pbn_b2_bt_4_115200 }, |
2188 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_COMM8, | 2185 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_COMM8, |
2189 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2186 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2190 | pbn_b2_8_115200 }, | 2187 | pbn_b2_8_115200 }, |
2191 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM8, | 2188 | { PCI_VENDOR_ID_SEALEVEL, PCI_DEVICE_ID_SEALEVEL_UCOMM8, |
2192 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2189 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
@@ -2201,11 +2198,11 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
2201 | /* | 2198 | /* |
2202 | * VScom SPCOM800, from sl@s.pl | 2199 | * VScom SPCOM800, from sl@s.pl |
2203 | */ | 2200 | */ |
2204 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_SPCOM800, | 2201 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_SPCOM800, |
2205 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2202 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2206 | pbn_b2_8_921600 }, | 2203 | pbn_b2_8_921600 }, |
2207 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_1077, | 2204 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_1077, |
2208 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2205 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2209 | pbn_b2_4_921600 }, | 2206 | pbn_b2_4_921600 }, |
2210 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2207 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2211 | PCI_SUBVENDOR_ID_KEYSPAN, | 2208 | PCI_SUBVENDOR_ID_KEYSPAN, |
@@ -2223,27 +2220,27 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
2223 | pbn_b2_4_115200 }, | 2220 | pbn_b2_4_115200 }, |
2224 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2221 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2225 | PCI_SUBVENDOR_ID_CHASE_PCIFAST, | 2222 | PCI_SUBVENDOR_ID_CHASE_PCIFAST, |
2226 | PCI_SUBDEVICE_ID_CHASE_PCIFAST4, 0, 0, | 2223 | PCI_SUBDEVICE_ID_CHASE_PCIFAST4, 0, 0, |
2227 | pbn_b2_4_460800 }, | 2224 | pbn_b2_4_460800 }, |
2228 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2225 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2229 | PCI_SUBVENDOR_ID_CHASE_PCIFAST, | 2226 | PCI_SUBVENDOR_ID_CHASE_PCIFAST, |
2230 | PCI_SUBDEVICE_ID_CHASE_PCIFAST8, 0, 0, | 2227 | PCI_SUBDEVICE_ID_CHASE_PCIFAST8, 0, 0, |
2231 | pbn_b2_8_460800 }, | 2228 | pbn_b2_8_460800 }, |
2232 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2229 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2233 | PCI_SUBVENDOR_ID_CHASE_PCIFAST, | 2230 | PCI_SUBVENDOR_ID_CHASE_PCIFAST, |
2234 | PCI_SUBDEVICE_ID_CHASE_PCIFAST16, 0, 0, | 2231 | PCI_SUBDEVICE_ID_CHASE_PCIFAST16, 0, 0, |
2235 | pbn_b2_16_460800 }, | 2232 | pbn_b2_16_460800 }, |
2236 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2233 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2237 | PCI_SUBVENDOR_ID_CHASE_PCIFAST, | 2234 | PCI_SUBVENDOR_ID_CHASE_PCIFAST, |
2238 | PCI_SUBDEVICE_ID_CHASE_PCIFAST16FMC, 0, 0, | 2235 | PCI_SUBDEVICE_ID_CHASE_PCIFAST16FMC, 0, 0, |
2239 | pbn_b2_16_460800 }, | 2236 | pbn_b2_16_460800 }, |
2240 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2237 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2241 | PCI_SUBVENDOR_ID_CHASE_PCIRAS, | 2238 | PCI_SUBVENDOR_ID_CHASE_PCIRAS, |
2242 | PCI_SUBDEVICE_ID_CHASE_PCIRAS4, 0, 0, | 2239 | PCI_SUBDEVICE_ID_CHASE_PCIRAS4, 0, 0, |
2243 | pbn_b2_4_460800 }, | 2240 | pbn_b2_4_460800 }, |
2244 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2241 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2245 | PCI_SUBVENDOR_ID_CHASE_PCIRAS, | 2242 | PCI_SUBVENDOR_ID_CHASE_PCIRAS, |
2246 | PCI_SUBDEVICE_ID_CHASE_PCIRAS8, 0, 0, | 2243 | PCI_SUBDEVICE_ID_CHASE_PCIRAS8, 0, 0, |
2247 | pbn_b2_8_460800 }, | 2244 | pbn_b2_8_460800 }, |
2248 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | 2245 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, |
2249 | PCI_SUBVENDOR_ID_EXSYS, | 2246 | PCI_SUBVENDOR_ID_EXSYS, |
@@ -2269,10 +2266,12 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
2269 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2266 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2270 | pbn_b1_8_115200 }, | 2267 | pbn_b1_8_115200 }, |
2271 | { PCI_VENDOR_ID_SPECIALIX, PCI_DEVICE_ID_OXSEMI_16PCI954, | 2268 | { PCI_VENDOR_ID_SPECIALIX, PCI_DEVICE_ID_OXSEMI_16PCI954, |
2272 | PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0, | 2269 | PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, |
2270 | 0, 0, | ||
2273 | pbn_b0_4_921600 }, | 2271 | pbn_b0_4_921600 }, |
2274 | { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954, | 2272 | { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954, |
2275 | PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, 0, 0, | 2273 | PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, |
2274 | 0, 0, | ||
2276 | pbn_b0_4_1152000 }, | 2275 | pbn_b0_4_1152000 }, |
2277 | 2276 | ||
2278 | /* | 2277 | /* |
@@ -2312,7 +2311,7 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
2312 | * Digitan DS560-558, from jimd@esoft.com | 2311 | * Digitan DS560-558, from jimd@esoft.com |
2313 | */ | 2312 | */ |
2314 | { PCI_VENDOR_ID_ATT, PCI_DEVICE_ID_ATT_VENUS_MODEM, | 2313 | { PCI_VENDOR_ID_ATT, PCI_DEVICE_ID_ATT_VENUS_MODEM, |
2315 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2314 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2316 | pbn_b1_1_115200 }, | 2315 | pbn_b1_1_115200 }, |
2317 | 2316 | ||
2318 | /* | 2317 | /* |
@@ -2320,16 +2319,16 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
2320 | * The 400L and 800L have a custom setup quirk. | 2319 | * The 400L and 800L have a custom setup quirk. |
2321 | */ | 2320 | */ |
2322 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_100, | 2321 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_100, |
2323 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2322 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2324 | pbn_b0_1_921600 }, | 2323 | pbn_b0_1_921600 }, |
2325 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_200, | 2324 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_200, |
2326 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2325 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2327 | pbn_b0_2_921600 }, | 2326 | pbn_b0_2_921600 }, |
2328 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_400, | 2327 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_400, |
2329 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2328 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2330 | pbn_b0_4_921600 }, | 2329 | pbn_b0_4_921600 }, |
2331 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_800B, | 2330 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_800B, |
2332 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2331 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
2333 | pbn_b0_4_921600 }, | 2332 | pbn_b0_4_921600 }, |
2334 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_100L, | 2333 | { PCI_VENDOR_ID_TITAN, PCI_DEVICE_ID_TITAN_100L, |
2335 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2334 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |