aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/mxser.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2008-07-22 06:20:34 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-07-22 16:03:28 -0400
commite129deff3d979df1ad3d0a6756c90932c0a0a102 (patch)
tree0257450b151538a807db62af14d108bc62ead829 /drivers/char/mxser.c
parentfaa7612c09ae4519ad4659c8417aaaba81183833 (diff)
Char: mxser, add CP-102UF support
Add support for CP-102UF moxa card (update to 1.12 original driver) and increment this driver version. (Somewhat reworked by alan@redhat.com to merge in with other patches) Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/mxser.c')
-rw-r--r--drivers/char/mxser.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/char/mxser.c b/drivers/char/mxser.c
index f04c3c58a05a..4c756bbba948 100644
--- a/drivers/char/mxser.c
+++ b/drivers/char/mxser.c
@@ -47,7 +47,7 @@
47 47
48#include "mxser.h" 48#include "mxser.h"
49 49
50#define MXSER_VERSION "2.0.3" /* 1.11 */ 50#define MXSER_VERSION "2.0.4" /* 1.12 */
51#define MXSERMAJOR 174 51#define MXSERMAJOR 174
52#define MXSERCUMAJOR 175 52#define MXSERCUMAJOR 175
53 53
@@ -71,12 +71,13 @@
71#define UART_MCR_AFE 0x20 71#define UART_MCR_AFE 0x20
72#define UART_LSR_SPECIAL 0x1E 72#define UART_LSR_SPECIAL 0x1E
73 73
74#define PCI_DEVICE_ID_POS104UL 0x1044
74#define PCI_DEVICE_ID_CB108 0x1080 75#define PCI_DEVICE_ID_CB108 0x1080
76#define PCI_DEVICE_ID_CP102UF 0x1023
75#define PCI_DEVICE_ID_CB114 0x1142 77#define PCI_DEVICE_ID_CB114 0x1142
76#define PCI_DEVICE_ID_CP114UL 0x1143 78#define PCI_DEVICE_ID_CP114UL 0x1143
77#define PCI_DEVICE_ID_CB134I 0x1341 79#define PCI_DEVICE_ID_CB134I 0x1341
78#define PCI_DEVICE_ID_CP138U 0x1380 80#define PCI_DEVICE_ID_CP138U 0x1380
79#define PCI_DEVICE_ID_POS104UL 0x1044
80 81
81 82
82#define C168_ASIC_ID 1 83#define C168_ASIC_ID 1
@@ -142,7 +143,8 @@ static const struct mxser_cardinfo mxser_cards[] = {
142 { "CB-134I series", 4, }, 143 { "CB-134I series", 4, },
143 { "CP-138U series", 8, }, 144 { "CP-138U series", 8, },
144 { "POS-104UL series", 4, }, 145 { "POS-104UL series", 4, },
145 { "CP-114UL series", 4, } 146 { "CP-114UL series", 4, },
147/*30*/ { "CP-102UF series", 2, }
146}; 148};
147 149
148/* driver_data correspond to the lines in the structure above 150/* driver_data correspond to the lines in the structure above
@@ -172,6 +174,7 @@ static struct pci_device_id mxser_pcibrds[] = {
172 { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CP138U), .driver_data = 27 }, 174 { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CP138U), .driver_data = 27 },
173 { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_POS104UL), .driver_data = 28 }, 175 { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_POS104UL), .driver_data = 28 },
174 { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CP114UL), .driver_data = 29 }, 176 { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CP114UL), .driver_data = 29 },
177 { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CP102UF), .driver_data = 30 },
175 { } 178 { }
176}; 179};
177MODULE_DEVICE_TABLE(pci, mxser_pcibrds); 180MODULE_DEVICE_TABLE(pci, mxser_pcibrds);
@@ -1414,7 +1417,6 @@ static int mxser_set_serial_info(struct mxser_port *info,
1414 info->port.closing_wait = new_serial.closing_wait * HZ / 100; 1417 info->port.closing_wait = new_serial.closing_wait * HZ / 100;
1415 info->port.tty->low_latency = 1418 info->port.tty->low_latency =
1416 (info->port.flags & ASYNC_LOW_LATENCY) ? 1 : 0; 1419 (info->port.flags & ASYNC_LOW_LATENCY) ? 1 : 0;
1417 info->port.tty->low_latency = 0;
1418 if ((info->port.flags & ASYNC_SPD_MASK) == ASYNC_SPD_CUST && 1420 if ((info->port.flags & ASYNC_SPD_MASK) == ASYNC_SPD_CUST &&
1419 (new_serial.baud_base != info->baud_base || 1421 (new_serial.baud_base != info->baud_base ||
1420 new_serial.custom_divisor != 1422 new_serial.custom_divisor !=