diff options
-rw-r--r-- | drivers/char/mxser_new.c | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c index 6a563932ba19..7677df315679 100644 --- a/drivers/char/mxser_new.c +++ b/drivers/char/mxser_new.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * mxser.c -- MOXA Smartio/Industio family multiport serial driver. | 2 | * mxser.c -- MOXA Smartio/Industio family multiport serial driver. |
3 | * | 3 | * |
4 | * Copyright (C) 1999-2006 Moxa Technologies (support@moxa.com.tw). | 4 | * Copyright (C) 1999-2006 Moxa Technologies (support@moxa.com.tw). |
5 | * Copyright (C) 2006 Jiri Slaby <jirislaby@gmail.com> | 5 | * Copyright (C) 2006-2007 Jiri Slaby <jirislaby@gmail.com> |
6 | * | 6 | * |
7 | * This code is loosely based on the 1.8 moxa driver which is based on | 7 | * This code is loosely based on the 1.8 moxa driver which is based on |
8 | * Linux serial driver, written by Linus Torvalds, Theodore T'so and | 8 | * Linux serial driver, written by Linus Torvalds, Theodore T'so and |
@@ -48,7 +48,7 @@ | |||
48 | 48 | ||
49 | #include "mxser_new.h" | 49 | #include "mxser_new.h" |
50 | 50 | ||
51 | #define MXSER_VERSION "2.0.1" /* 1.9.15 */ | 51 | #define MXSER_VERSION "2.0.2" /* 1.10 */ |
52 | #define MXSERMAJOR 174 | 52 | #define MXSERMAJOR 174 |
53 | #define MXSERCUMAJOR 175 | 53 | #define MXSERCUMAJOR 175 |
54 | 54 | ||
@@ -72,6 +72,12 @@ | |||
72 | #define UART_MCR_AFE 0x20 | 72 | #define UART_MCR_AFE 0x20 |
73 | #define UART_LSR_SPECIAL 0x1E | 73 | #define UART_LSR_SPECIAL 0x1E |
74 | 74 | ||
75 | #define PCI_DEVICE_ID_CB108 0x1080 | ||
76 | #define PCI_DEVICE_ID_CB114 0x1142 | ||
77 | #define PCI_DEVICE_ID_CB134I 0x1341 | ||
78 | #define PCI_DEVICE_ID_CP138U 0x1380 | ||
79 | #define PCI_DEVICE_ID_POS104UL 0x1044 | ||
80 | |||
75 | 81 | ||
76 | #define C168_ASIC_ID 1 | 82 | #define C168_ASIC_ID 1 |
77 | #define C104_ASIC_ID 2 | 83 | #define C104_ASIC_ID 2 |
@@ -107,30 +113,35 @@ struct mxser_cardinfo { | |||
107 | }; | 113 | }; |
108 | 114 | ||
109 | static const struct mxser_cardinfo mxser_cards[] = { | 115 | static const struct mxser_cardinfo mxser_cards[] = { |
110 | { 8, "C168 series", }, /* C168-ISA */ | 116 | /* 0*/ { 8, "C168 series", }, /* C168-ISA */ |
111 | { 4, "C104 series", }, /* C104-ISA */ | 117 | { 4, "C104 series", }, /* C104-ISA */ |
112 | { 4, "CI-104J series", }, /* CI104J */ | 118 | { 4, "CI-104J series", }, /* CI104J */ |
113 | { 8, "C168H/PCI series", }, /* C168-PCI */ | 119 | { 8, "C168H/PCI series", }, /* C168-PCI */ |
114 | { 4, "C104H/PCI series", }, /* C104-PCI */ | 120 | { 4, "C104H/PCI series", }, /* C104-PCI */ |
115 | { 4, "C102 series", MXSER_HAS2 }, /* C102-ISA */ | 121 | /* 5*/ { 4, "C102 series", MXSER_HAS2 }, /* C102-ISA */ |
116 | { 4, "CI-132 series", MXSER_HAS2 }, /* CI132 */ | 122 | { 4, "CI-132 series", MXSER_HAS2 }, /* CI132 */ |
117 | { 4, "CI-134 series", }, /* CI134 */ | 123 | { 4, "CI-134 series", }, /* CI134 */ |
118 | { 2, "CP-132 series", }, /* CP132 */ | 124 | { 2, "CP-132 series", }, /* CP132 */ |
119 | { 4, "CP-114 series", }, /* CP114 */ | 125 | { 4, "CP-114 series", }, /* CP114 */ |
120 | { 4, "CT-114 series", }, /* CT114 */ | 126 | /*10*/ { 4, "CT-114 series", }, /* CT114 */ |
121 | { 2, "CP-102 series", MXSER_HIGHBAUD }, /* CP102 */ | 127 | { 2, "CP-102 series", MXSER_HIGHBAUD }, /* CP102 */ |
122 | { 4, "CP-104U series", }, /* CP104U */ | 128 | { 4, "CP-104U series", }, /* CP104U */ |
123 | { 8, "CP-168U series", }, /* CP168U */ | 129 | { 8, "CP-168U series", }, /* CP168U */ |
124 | { 2, "CP-132U series", }, /* CP132U */ | 130 | { 2, "CP-132U series", }, /* CP132U */ |
125 | { 4, "CP-134U series", }, /* CP134U */ | 131 | /*15*/ { 4, "CP-134U series", }, /* CP134U */ |
126 | { 4, "CP-104JU series", }, /* CP104JU */ | 132 | { 4, "CP-104JU series", }, /* CP104JU */ |
127 | { 8, "Moxa UC7000 Serial", }, /* RC7000 */ | 133 | { 8, "Moxa UC7000 Serial", }, /* RC7000 */ |
128 | { 8, "CP-118U series", }, /* CP118U */ | 134 | { 8, "CP-118U series", }, /* CP118U */ |
129 | { 2, "CP-102UL series", }, /* CP102UL */ | 135 | { 2, "CP-102UL series", }, /* CP102UL */ |
130 | { 2, "CP-102U series", }, /* CP102U */ | 136 | /*20*/ { 2, "CP-102U series", }, /* CP102U */ |
131 | { 8, "CP-118EL series", }, /* CP118EL */ | 137 | { 8, "CP-118EL series", }, /* CP118EL */ |
132 | { 8, "CP-168EL series", }, /* CP168EL */ | 138 | { 8, "CP-168EL series", }, /* CP168EL */ |
133 | { 4, "CP-104EL series", } /* CP104EL */ | 139 | { 4, "CP-104EL series", }, |
140 | { 8, "CB-108 series", }, | ||
141 | /*25*/ { 4, "CB-114 series", }, | ||
142 | { 4, "CB-134I series", }, | ||
143 | { 8, "CP-138U series", }, | ||
144 | { 4, "POS-104UL series", } | ||
134 | }; | 145 | }; |
135 | 146 | ||
136 | /* driver_data correspond to the lines in the structure above | 147 | /* driver_data correspond to the lines in the structure above |
@@ -172,6 +183,11 @@ static struct pci_device_id mxser_pcibrds[] = { | |||
172 | .driver_data = 22 }, | 183 | .driver_data = 22 }, |
173 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP104EL), | 184 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP104EL), |
174 | .driver_data = 23 }, | 185 | .driver_data = 23 }, |
186 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CB108), .driver_data = 24 }, | ||
187 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CB114), .driver_data = 25 }, | ||
188 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CB134I), .driver_data = 26 }, | ||
189 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CP138U), .driver_data = 27 }, | ||
190 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_POS104UL), .driver_data = 28 }, | ||
175 | { } | 191 | { } |
176 | }; | 192 | }; |
177 | MODULE_DEVICE_TABLE(pci, mxser_pcibrds); | 193 | MODULE_DEVICE_TABLE(pci, mxser_pcibrds); |