diff options
author | Bill Pemberton <wfp5p@worldbroken.com> | 2014-08-30 16:35:57 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-09-08 16:15:49 -0400 |
commit | 293b22650f405cb08d72470b42254047138c9a55 (patch) | |
tree | 6d88190a4d08cfb6997eb7053ea79f0b790d30f8 | |
parent | 69e273c0b0a3c337a521d083374c918dc52c666f (diff) |
jsm: add support for additional Neo cards
Add device ids for additional Neo cards. The ids come from the dgnc
driver.
Signed-off-by: Bill Pemberton <wfp5p@worldbroken.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/tty/serial/jsm/jsm.h | 10 | ||||
-rw-r--r-- | drivers/tty/serial/jsm/jsm_driver.c | 38 |
2 files changed, 44 insertions, 4 deletions
diff --git a/drivers/tty/serial/jsm/jsm.h b/drivers/tty/serial/jsm/jsm.h index 844d5e4eb1aa..af7013488aeb 100644 --- a/drivers/tty/serial/jsm/jsm.h +++ b/drivers/tty/serial/jsm/jsm.h | |||
@@ -67,6 +67,16 @@ do { \ | |||
67 | #define MAXPORTS 8 | 67 | #define MAXPORTS 8 |
68 | #define MAX_STOPS_SENT 5 | 68 | #define MAX_STOPS_SENT 5 |
69 | 69 | ||
70 | /* Board ids */ | ||
71 | #define PCI_DEVICE_ID_NEO_4 0x00B0 | ||
72 | #define PCI_DEVICE_ID_NEO_1_422 0x00CC | ||
73 | #define PCI_DEVICE_ID_NEO_1_422_485 0x00CD | ||
74 | #define PCI_DEVICE_ID_NEO_2_422_485 0x00CE | ||
75 | #define PCIE_DEVICE_ID_NEO_8 0x00F0 | ||
76 | #define PCIE_DEVICE_ID_NEO_4 0x00F1 | ||
77 | #define PCIE_DEVICE_ID_NEO_4RJ45 0x00F2 | ||
78 | #define PCIE_DEVICE_ID_NEO_8RJ45 0x00F3 | ||
79 | |||
70 | /* Board type definitions */ | 80 | /* Board type definitions */ |
71 | 81 | ||
72 | #define T_NEO 0000 | 82 | #define T_NEO 0000 |
diff --git a/drivers/tty/serial/jsm/jsm_driver.c b/drivers/tty/serial/jsm/jsm_driver.c index a47d882d6743..d2885a7bb090 100644 --- a/drivers/tty/serial/jsm/jsm_driver.c +++ b/drivers/tty/serial/jsm/jsm_driver.c | |||
@@ -93,12 +93,34 @@ static int jsm_probe_one(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
93 | /* store the info for the board we've found */ | 93 | /* store the info for the board we've found */ |
94 | brd->boardnum = adapter_count++; | 94 | brd->boardnum = adapter_count++; |
95 | brd->pci_dev = pdev; | 95 | brd->pci_dev = pdev; |
96 | if (pdev->device == PCIE_DEVICE_ID_NEO_4_IBM) | 96 | |
97 | switch (pdev->device) { | ||
98 | |||
99 | case PCI_DEVICE_ID_NEO_2DB9: | ||
100 | case PCI_DEVICE_ID_NEO_2DB9PRI: | ||
101 | case PCI_DEVICE_ID_NEO_2RJ45: | ||
102 | case PCI_DEVICE_ID_NEO_2RJ45PRI: | ||
103 | case PCI_DEVICE_ID_NEO_2_422_485: | ||
104 | brd->maxports = 2; | ||
105 | break; | ||
106 | |||
107 | case PCI_DEVICE_ID_NEO_4: | ||
108 | case PCIE_DEVICE_ID_NEO_4: | ||
109 | case PCIE_DEVICE_ID_NEO_4RJ45: | ||
110 | case PCIE_DEVICE_ID_NEO_4_IBM: | ||
97 | brd->maxports = 4; | 111 | brd->maxports = 4; |
98 | else if (pdev->device == PCI_DEVICE_ID_DIGI_NEO_8) | 112 | break; |
113 | |||
114 | case PCI_DEVICE_ID_DIGI_NEO_8: | ||
115 | case PCIE_DEVICE_ID_NEO_8: | ||
116 | case PCIE_DEVICE_ID_NEO_8RJ45: | ||
99 | brd->maxports = 8; | 117 | brd->maxports = 8; |
100 | else | 118 | break; |
101 | brd->maxports = 2; | 119 | |
120 | default: | ||
121 | brd->maxports = 1; | ||
122 | break; | ||
123 | } | ||
102 | 124 | ||
103 | spin_lock_init(&brd->bd_intr_lock); | 125 | spin_lock_init(&brd->bd_intr_lock); |
104 | 126 | ||
@@ -209,6 +231,14 @@ static struct pci_device_id jsm_pci_tbl[] = { | |||
209 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2RJ45PRI), 0, 0, 3 }, | 231 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2RJ45PRI), 0, 0, 3 }, |
210 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4_IBM), 0, 0, 4 }, | 232 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4_IBM), 0, 0, 4 }, |
211 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_DIGI_NEO_8), 0, 0, 5 }, | 233 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_DIGI_NEO_8), 0, 0, 5 }, |
234 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_4), 0, 0, 6 }, | ||
235 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_1_422), 0, 0, 7 }, | ||
236 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_1_422_485), 0, 0, 8 }, | ||
237 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCI_DEVICE_ID_NEO_2_422_485), 0, 0, 9 }, | ||
238 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_8), 0, 0, 10 }, | ||
239 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4), 0, 0, 11 }, | ||
240 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_4RJ45), 0, 0, 12 }, | ||
241 | { PCI_DEVICE(PCI_VENDOR_ID_DIGI, PCIE_DEVICE_ID_NEO_8RJ45), 0, 0, 13 }, | ||
212 | { 0, } | 242 | { 0, } |
213 | }; | 243 | }; |
214 | MODULE_DEVICE_TABLE(pci, jsm_pci_tbl); | 244 | MODULE_DEVICE_TABLE(pci, jsm_pci_tbl); |