diff options
Diffstat (limited to 'drivers/char/mxser_new.c')
| -rw-r--r-- | drivers/char/mxser_new.c | 120 |
1 files changed, 59 insertions, 61 deletions
diff --git a/drivers/char/mxser_new.c b/drivers/char/mxser_new.c index 6a563932ba1..854dbf59eb6 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,71 +113,63 @@ 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", }, |
| 111 | { 4, "C104 series", }, /* C104-ISA */ | 117 | { 4, "C104 series", }, |
| 112 | { 4, "CI-104J series", }, /* CI104J */ | 118 | { 4, "CI-104J series", }, |
| 113 | { 8, "C168H/PCI series", }, /* C168-PCI */ | 119 | { 8, "C168H/PCI series", }, |
| 114 | { 4, "C104H/PCI series", }, /* C104-PCI */ | 120 | { 4, "C104H/PCI series", }, |
| 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 }, |
| 117 | { 4, "CI-134 series", }, /* CI134 */ | 123 | { 4, "CI-134 series", }, |
| 118 | { 2, "CP-132 series", }, /* CP132 */ | 124 | { 2, "CP-132 series", }, |
| 119 | { 4, "CP-114 series", }, /* CP114 */ | 125 | { 4, "CP-114 series", }, |
| 120 | { 4, "CT-114 series", }, /* CT114 */ | 126 | /*10*/ { 4, "CT-114 series", }, |
| 121 | { 2, "CP-102 series", MXSER_HIGHBAUD }, /* CP102 */ | 127 | { 2, "CP-102 series", MXSER_HIGHBAUD }, |
| 122 | { 4, "CP-104U series", }, /* CP104U */ | 128 | { 4, "CP-104U series", }, |
| 123 | { 8, "CP-168U series", }, /* CP168U */ | 129 | { 8, "CP-168U series", }, |
| 124 | { 2, "CP-132U series", }, /* CP132U */ | 130 | { 2, "CP-132U series", }, |
| 125 | { 4, "CP-134U series", }, /* CP134U */ | 131 | /*15*/ { 4, "CP-134U series", }, |
| 126 | { 4, "CP-104JU series", }, /* CP104JU */ | 132 | { 4, "CP-104JU series", }, |
| 127 | { 8, "Moxa UC7000 Serial", }, /* RC7000 */ | 133 | { 8, "Moxa UC7000 Serial", }, /* RC7000 */ |
| 128 | { 8, "CP-118U series", }, /* CP118U */ | 134 | { 8, "CP-118U series", }, |
| 129 | { 2, "CP-102UL series", }, /* CP102UL */ | 135 | { 2, "CP-102UL series", }, |
| 130 | { 2, "CP-102U series", }, /* CP102U */ | 136 | /*20*/ { 2, "CP-102U series", }, |
| 131 | { 8, "CP-118EL series", }, /* CP118EL */ | 137 | { 8, "CP-118EL series", }, |
| 132 | { 8, "CP-168EL series", }, /* CP168EL */ | 138 | { 8, "CP-168EL series", }, |
| 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 |
| 137 | see also ISA probe function before you change something */ | 148 | see also ISA probe function before you change something */ |
| 138 | static struct pci_device_id mxser_pcibrds[] = { | 149 | static struct pci_device_id mxser_pcibrds[] = { |
| 139 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_C168), | 150 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_C168), .driver_data = 3 }, |
| 140 | .driver_data = 3 }, | 151 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_C104), .driver_data = 4 }, |
| 141 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_C104), | 152 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP132), .driver_data = 8 }, |
| 142 | .driver_data = 4 }, | 153 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP114), .driver_data = 9 }, |
| 143 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP132), | 154 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CT114), .driver_data = 10 }, |
| 144 | .driver_data = 8 }, | 155 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP102), .driver_data = 11 }, |
| 145 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP114), | 156 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP104U), .driver_data = 12 }, |
| 146 | .driver_data = 9 }, | 157 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP168U), .driver_data = 13 }, |
| 147 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CT114), | 158 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP132U), .driver_data = 14 }, |
| 148 | .driver_data = 10 }, | 159 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP134U), .driver_data = 15 }, |
| 149 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP102), | 160 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP104JU),.driver_data = 16 }, |
| 150 | .driver_data = 11 }, | 161 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_RC7000), .driver_data = 17 }, |
| 151 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP104U), | 162 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP118U), .driver_data = 18 }, |
| 152 | .driver_data = 12 }, | 163 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP102UL),.driver_data = 19 }, |
| 153 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP168U), | 164 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP102U), .driver_data = 20 }, |
| 154 | .driver_data = 13 }, | 165 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP118EL),.driver_data = 21 }, |
| 155 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP132U), | 166 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP168EL),.driver_data = 22 }, |
| 156 | .driver_data = 14 }, | 167 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_MOXA_CP104EL),.driver_data = 23 }, |
| 157 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP134U), | 168 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CB108), .driver_data = 24 }, |
| 158 | .driver_data = 15 }, | 169 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CB114), .driver_data = 25 }, |
| 159 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP104JU), | 170 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CB134I), .driver_data = 26 }, |
| 160 | .driver_data = 16 }, | 171 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_CP138U), .driver_data = 27 }, |
| 161 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_RC7000), | 172 | { PCI_VDEVICE(MOXA, PCI_DEVICE_ID_POS104UL), .driver_data = 28 }, |
| 162 | .driver_data = 17 }, | ||
| 163 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP118U), | ||
| 164 | .driver_data = 18 }, | ||
| 165 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP102UL), | ||
| 166 | .driver_data = 19 }, | ||
| 167 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP102U), | ||
| 168 | .driver_data = 20 }, | ||
| 169 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP118EL), | ||
| 170 | .driver_data = 21 }, | ||
| 171 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP168EL), | ||
| 172 | .driver_data = 22 }, | ||
| 173 | { PCI_DEVICE(PCI_VENDOR_ID_MOXA, PCI_DEVICE_ID_MOXA_CP104EL), | ||
| 174 | .driver_data = 23 }, | ||
| 175 | { } | 173 | { } |
| 176 | }; | 174 | }; |
| 177 | MODULE_DEVICE_TABLE(pci, mxser_pcibrds); | 175 | MODULE_DEVICE_TABLE(pci, mxser_pcibrds); |
