diff options
| -rw-r--r-- | drivers/serial/8250_pci.c | 25 | ||||
| -rw-r--r-- | include/linux/pci_ids.h | 1 |
2 files changed, 25 insertions, 1 deletions
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index 0e21f583690e..5da61ebbac88 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c | |||
| @@ -226,8 +226,10 @@ static int __devinit pci_plx9050_init(struct pci_dev *dev) | |||
| 226 | } | 226 | } |
| 227 | 227 | ||
| 228 | irq_config = 0x41; | 228 | irq_config = 0x41; |
| 229 | if (dev->vendor == PCI_VENDOR_ID_PANACOM) | 229 | if (dev->vendor == PCI_VENDOR_ID_PANACOM || |
| 230 | dev->subsystem_vendor == PCI_SUBVENDOR_ID_EXSYS) { | ||
| 230 | irq_config = 0x43; | 231 | irq_config = 0x43; |
| 232 | } | ||
| 231 | if ((dev->vendor == PCI_VENDOR_ID_PLX) && | 233 | if ((dev->vendor == PCI_VENDOR_ID_PLX) && |
| 232 | (dev->device == PCI_DEVICE_ID_PLX_ROMULUS)) { | 234 | (dev->device == PCI_DEVICE_ID_PLX_ROMULUS)) { |
| 233 | /* | 235 | /* |
| @@ -664,6 +666,15 @@ static struct pci_serial_quirk pci_serial_quirks[] = { | |||
| 664 | { | 666 | { |
| 665 | .vendor = PCI_VENDOR_ID_PLX, | 667 | .vendor = PCI_VENDOR_ID_PLX, |
| 666 | .device = PCI_DEVICE_ID_PLX_9050, | 668 | .device = PCI_DEVICE_ID_PLX_9050, |
| 669 | .subvendor = PCI_SUBVENDOR_ID_EXSYS, | ||
| 670 | .subdevice = PCI_SUBDEVICE_ID_EXSYS_4055, | ||
| 671 | .init = pci_plx9050_init, | ||
| 672 | .setup = pci_default_setup, | ||
| 673 | .exit = __devexit_p(pci_plx9050_exit), | ||
| 674 | }, | ||
| 675 | { | ||
| 676 | .vendor = PCI_VENDOR_ID_PLX, | ||
| 677 | .device = PCI_DEVICE_ID_PLX_9050, | ||
| 667 | .subvendor = PCI_SUBVENDOR_ID_KEYSPAN, | 678 | .subvendor = PCI_SUBVENDOR_ID_KEYSPAN, |
| 668 | .subdevice = PCI_SUBDEVICE_ID_KEYSPAN_SX2, | 679 | .subdevice = PCI_SUBDEVICE_ID_KEYSPAN_SX2, |
| 669 | .init = pci_plx9050_init, | 680 | .init = pci_plx9050_init, |
| @@ -927,6 +938,7 @@ enum pci_board_num_t { | |||
| 927 | pbn_panacom, | 938 | pbn_panacom, |
| 928 | pbn_panacom2, | 939 | pbn_panacom2, |
| 929 | pbn_panacom4, | 940 | pbn_panacom4, |
| 941 | pbn_exsys_4055, | ||
| 930 | pbn_plx_romulus, | 942 | pbn_plx_romulus, |
| 931 | pbn_oxsemi, | 943 | pbn_oxsemi, |
| 932 | pbn_intel_i960, | 944 | pbn_intel_i960, |
| @@ -1292,6 +1304,13 @@ static struct pciserial_board pci_boards[] __devinitdata = { | |||
| 1292 | .reg_shift = 7, | 1304 | .reg_shift = 7, |
| 1293 | }, | 1305 | }, |
| 1294 | 1306 | ||
| 1307 | [pbn_exsys_4055] = { | ||
| 1308 | .flags = FL_BASE2, | ||
| 1309 | .num_ports = 4, | ||
| 1310 | .base_baud = 115200, | ||
| 1311 | .uart_offset = 8, | ||
| 1312 | }, | ||
| 1313 | |||
| 1295 | /* I think this entry is broken - the first_offset looks wrong --rmk */ | 1314 | /* I think this entry is broken - the first_offset looks wrong --rmk */ |
| 1296 | [pbn_plx_romulus] = { | 1315 | [pbn_plx_romulus] = { |
| 1297 | .flags = FL_BASE2, | 1316 | .flags = FL_BASE2, |
| @@ -1853,6 +1872,10 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
| 1853 | PCI_SUBVENDOR_ID_CHASE_PCIRAS, | 1872 | PCI_SUBVENDOR_ID_CHASE_PCIRAS, |
| 1854 | PCI_SUBDEVICE_ID_CHASE_PCIRAS8, 0, 0, | 1873 | PCI_SUBDEVICE_ID_CHASE_PCIRAS8, 0, 0, |
| 1855 | pbn_b2_8_460800 }, | 1874 | pbn_b2_8_460800 }, |
| 1875 | { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9050, | ||
| 1876 | PCI_SUBVENDOR_ID_EXSYS, | ||
| 1877 | PCI_SUBDEVICE_ID_EXSYS_4055, 0, 0, | ||
| 1878 | pbn_exsys_4055 }, | ||
| 1856 | /* | 1879 | /* |
| 1857 | * Megawolf Romulus PCI Serial Card, from Mike Hudson | 1880 | * Megawolf Romulus PCI Serial Card, from Mike Hudson |
| 1858 | * (Exoray@isys.ca) | 1881 | * (Exoray@isys.ca) |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index f74ed9462475..ca0691c319ab 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
| @@ -2696,6 +2696,7 @@ | |||
| 2696 | 2696 | ||
| 2697 | #define PCI_SUBVENDOR_ID_EXSYS 0xd84d | 2697 | #define PCI_SUBVENDOR_ID_EXSYS 0xd84d |
| 2698 | #define PCI_SUBDEVICE_ID_EXSYS_4014 0x4014 | 2698 | #define PCI_SUBDEVICE_ID_EXSYS_4014 0x4014 |
| 2699 | #define PCI_SUBDEVICE_ID_EXSYS_4055 0x4055 | ||
| 2699 | 2700 | ||
| 2700 | #define PCI_VENDOR_ID_TIGERJET 0xe159 | 2701 | #define PCI_VENDOR_ID_TIGERJET 0xe159 |
| 2701 | #define PCI_DEVICE_ID_TIGERJET_300 0x0001 | 2702 | #define PCI_DEVICE_ID_TIGERJET_300 0x0001 |
