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