aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/serial/io_edgeport.c217
-rw-r--r--drivers/usb/serial/io_tables.h232
2 files changed, 215 insertions, 234 deletions
diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c
index 92abf92e5669..bb7673e80a57 100644
--- a/drivers/usb/serial/io_edgeport.c
+++ b/drivers/usb/serial/io_edgeport.c
@@ -57,6 +57,88 @@
57 57
58#define OPEN_TIMEOUT (5*HZ) /* 5 seconds */ 58#define OPEN_TIMEOUT (5*HZ) /* 5 seconds */
59 59
60static const struct usb_device_id edgeport_2port_id_table[] = {
61 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) },
62 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) },
63 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) },
64 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) },
65 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) },
66 { }
67};
68
69static const struct usb_device_id edgeport_4port_id_table[] = {
70 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) },
71 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) },
72 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) },
73 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) },
74 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) },
75 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) },
76 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) },
77 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_22I) },
78 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_4) },
79 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_COMPATIBLE) },
80 { }
81};
82
83static const struct usb_device_id edgeport_8port_id_table[] = {
84 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) },
85 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) },
86 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8I) },
87 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8R) },
88 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8RR) },
89 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_8) },
90 { }
91};
92
93static const struct usb_device_id Epic_port_id_table[] = {
94 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0202) },
95 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0203) },
96 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0310) },
97 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0311) },
98 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0312) },
99 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A758) },
100 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A794) },
101 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A225) },
102 { }
103};
104
105/* Devices that this driver supports */
106static const struct usb_device_id id_table_combined[] = {
107 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) },
108 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) },
109 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) },
110 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) },
111 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) },
112 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) },
113 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) },
114 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) },
115 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) },
116 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) },
117 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) },
118 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) },
119 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) },
120 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) },
121 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_22I) },
122 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_4) },
123 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_COMPATIBLE) },
124 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8I) },
125 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8R) },
126 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8RR) },
127 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_8) },
128 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0202) },
129 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0203) },
130 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0310) },
131 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0311) },
132 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0312) },
133 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A758) },
134 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A794) },
135 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A225) },
136 { } /* Terminating entry */
137};
138
139MODULE_DEVICE_TABLE(usb, id_table_combined);
140
141
60/* receive port state */ 142/* receive port state */
61enum RXSTATE { 143enum RXSTATE {
62 EXPECT_HDR1 = 0, /* Expect header byte 1 */ 144 EXPECT_HDR1 = 0, /* Expect header byte 1 */
@@ -217,8 +299,6 @@ static void edge_release(struct usb_serial *serial);
217static int edge_port_probe(struct usb_serial_port *port); 299static int edge_port_probe(struct usb_serial_port *port);
218static int edge_port_remove(struct usb_serial_port *port); 300static int edge_port_remove(struct usb_serial_port *port);
219 301
220#include "io_tables.h" /* all of the devices that this driver supports */
221
222/* function prototypes for all of our local functions */ 302/* function prototypes for all of our local functions */
223 303
224static void process_rcvd_data(struct edgeport_serial *edge_serial, 304static void process_rcvd_data(struct edgeport_serial *edge_serial,
@@ -3032,6 +3112,139 @@ static int edge_port_remove(struct usb_serial_port *port)
3032 return 0; 3112 return 0;
3033} 3113}
3034 3114
3115static struct usb_serial_driver edgeport_2port_device = {
3116 .driver = {
3117 .owner = THIS_MODULE,
3118 .name = "edgeport_2",
3119 },
3120 .description = "Edgeport 2 port adapter",
3121 .id_table = edgeport_2port_id_table,
3122 .num_ports = 2,
3123 .open = edge_open,
3124 .close = edge_close,
3125 .throttle = edge_throttle,
3126 .unthrottle = edge_unthrottle,
3127 .attach = edge_startup,
3128 .disconnect = edge_disconnect,
3129 .release = edge_release,
3130 .port_probe = edge_port_probe,
3131 .port_remove = edge_port_remove,
3132 .ioctl = edge_ioctl,
3133 .set_termios = edge_set_termios,
3134 .tiocmget = edge_tiocmget,
3135 .tiocmset = edge_tiocmset,
3136 .tiocmiwait = usb_serial_generic_tiocmiwait,
3137 .get_icount = usb_serial_generic_get_icount,
3138 .write = edge_write,
3139 .write_room = edge_write_room,
3140 .chars_in_buffer = edge_chars_in_buffer,
3141 .break_ctl = edge_break,
3142 .read_int_callback = edge_interrupt_callback,
3143 .read_bulk_callback = edge_bulk_in_callback,
3144 .write_bulk_callback = edge_bulk_out_data_callback,
3145};
3146
3147static struct usb_serial_driver edgeport_4port_device = {
3148 .driver = {
3149 .owner = THIS_MODULE,
3150 .name = "edgeport_4",
3151 },
3152 .description = "Edgeport 4 port adapter",
3153 .id_table = edgeport_4port_id_table,
3154 .num_ports = 4,
3155 .open = edge_open,
3156 .close = edge_close,
3157 .throttle = edge_throttle,
3158 .unthrottle = edge_unthrottle,
3159 .attach = edge_startup,
3160 .disconnect = edge_disconnect,
3161 .release = edge_release,
3162 .port_probe = edge_port_probe,
3163 .port_remove = edge_port_remove,
3164 .ioctl = edge_ioctl,
3165 .set_termios = edge_set_termios,
3166 .tiocmget = edge_tiocmget,
3167 .tiocmset = edge_tiocmset,
3168 .tiocmiwait = usb_serial_generic_tiocmiwait,
3169 .get_icount = usb_serial_generic_get_icount,
3170 .write = edge_write,
3171 .write_room = edge_write_room,
3172 .chars_in_buffer = edge_chars_in_buffer,
3173 .break_ctl = edge_break,
3174 .read_int_callback = edge_interrupt_callback,
3175 .read_bulk_callback = edge_bulk_in_callback,
3176 .write_bulk_callback = edge_bulk_out_data_callback,
3177};
3178
3179static struct usb_serial_driver edgeport_8port_device = {
3180 .driver = {
3181 .owner = THIS_MODULE,
3182 .name = "edgeport_8",
3183 },
3184 .description = "Edgeport 8 port adapter",
3185 .id_table = edgeport_8port_id_table,
3186 .num_ports = 8,
3187 .open = edge_open,
3188 .close = edge_close,
3189 .throttle = edge_throttle,
3190 .unthrottle = edge_unthrottle,
3191 .attach = edge_startup,
3192 .disconnect = edge_disconnect,
3193 .release = edge_release,
3194 .port_probe = edge_port_probe,
3195 .port_remove = edge_port_remove,
3196 .ioctl = edge_ioctl,
3197 .set_termios = edge_set_termios,
3198 .tiocmget = edge_tiocmget,
3199 .tiocmset = edge_tiocmset,
3200 .tiocmiwait = usb_serial_generic_tiocmiwait,
3201 .get_icount = usb_serial_generic_get_icount,
3202 .write = edge_write,
3203 .write_room = edge_write_room,
3204 .chars_in_buffer = edge_chars_in_buffer,
3205 .break_ctl = edge_break,
3206 .read_int_callback = edge_interrupt_callback,
3207 .read_bulk_callback = edge_bulk_in_callback,
3208 .write_bulk_callback = edge_bulk_out_data_callback,
3209};
3210
3211static struct usb_serial_driver epic_device = {
3212 .driver = {
3213 .owner = THIS_MODULE,
3214 .name = "epic",
3215 },
3216 .description = "EPiC device",
3217 .id_table = Epic_port_id_table,
3218 .num_ports = 1,
3219 .open = edge_open,
3220 .close = edge_close,
3221 .throttle = edge_throttle,
3222 .unthrottle = edge_unthrottle,
3223 .attach = edge_startup,
3224 .disconnect = edge_disconnect,
3225 .release = edge_release,
3226 .port_probe = edge_port_probe,
3227 .port_remove = edge_port_remove,
3228 .ioctl = edge_ioctl,
3229 .set_termios = edge_set_termios,
3230 .tiocmget = edge_tiocmget,
3231 .tiocmset = edge_tiocmset,
3232 .tiocmiwait = usb_serial_generic_tiocmiwait,
3233 .get_icount = usb_serial_generic_get_icount,
3234 .write = edge_write,
3235 .write_room = edge_write_room,
3236 .chars_in_buffer = edge_chars_in_buffer,
3237 .break_ctl = edge_break,
3238 .read_int_callback = edge_interrupt_callback,
3239 .read_bulk_callback = edge_bulk_in_callback,
3240 .write_bulk_callback = edge_bulk_out_data_callback,
3241};
3242
3243static struct usb_serial_driver * const serial_drivers[] = {
3244 &edgeport_2port_device, &edgeport_4port_device,
3245 &edgeport_8port_device, &epic_device, NULL
3246};
3247
3035module_usb_serial_driver(serial_drivers, id_table_combined); 3248module_usb_serial_driver(serial_drivers, id_table_combined);
3036 3249
3037MODULE_AUTHOR(DRIVER_AUTHOR); 3250MODULE_AUTHOR(DRIVER_AUTHOR);
diff --git a/drivers/usb/serial/io_tables.h b/drivers/usb/serial/io_tables.h
deleted file mode 100644
index ae5fac5656c9..000000000000
--- a/drivers/usb/serial/io_tables.h
+++ /dev/null
@@ -1,232 +0,0 @@
1/*
2 * IO Edgeport Driver tables
3 *
4 * Copyright (C) 2001
5 * Greg Kroah-Hartman (greg@kroah.com)
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 *
12 */
13
14#ifndef IO_TABLES_H
15#define IO_TABLES_H
16
17static const struct usb_device_id edgeport_2port_id_table[] = {
18 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) },
19 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) },
20 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) },
21 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) },
22 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) },
23 { }
24};
25
26static const struct usb_device_id edgeport_4port_id_table[] = {
27 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) },
28 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) },
29 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) },
30 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) },
31 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) },
32 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) },
33 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) },
34 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_22I) },
35 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_4) },
36 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_COMPATIBLE) },
37 { }
38};
39
40static const struct usb_device_id edgeport_8port_id_table[] = {
41 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) },
42 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) },
43 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8I) },
44 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8R) },
45 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8RR) },
46 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_8) },
47 { }
48};
49
50static const struct usb_device_id Epic_port_id_table[] = {
51 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0202) },
52 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0203) },
53 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0310) },
54 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0311) },
55 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0312) },
56 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A758) },
57 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A794) },
58 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A225) },
59 { }
60};
61
62/* Devices that this driver supports */
63static const struct usb_device_id id_table_combined[] = {
64 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) },
65 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) },
66 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) },
67 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) },
68 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) },
69 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) },
70 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) },
71 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) },
72 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) },
73 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) },
74 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) },
75 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) },
76 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) },
77 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) },
78 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_22I) },
79 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_4) },
80 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_COMPATIBLE) },
81 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8I) },
82 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8R) },
83 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8RR) },
84 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_8) },
85 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0202) },
86 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0203) },
87 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0310) },
88 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0311) },
89 { USB_DEVICE(USB_VENDOR_ID_NCR, NCR_DEVICE_ID_EPIC_0312) },
90 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A758) },
91 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A794) },
92 { USB_DEVICE(USB_VENDOR_ID_AXIOHM, AXIOHM_DEVICE_ID_EPIC_A225) },
93 { } /* Terminating entry */
94};
95
96MODULE_DEVICE_TABLE(usb, id_table_combined);
97
98static struct usb_serial_driver edgeport_2port_device = {
99 .driver = {
100 .owner = THIS_MODULE,
101 .name = "edgeport_2",
102 },
103 .description = "Edgeport 2 port adapter",
104 .id_table = edgeport_2port_id_table,
105 .num_ports = 2,
106 .open = edge_open,
107 .close = edge_close,
108 .throttle = edge_throttle,
109 .unthrottle = edge_unthrottle,
110 .attach = edge_startup,
111 .disconnect = edge_disconnect,
112 .release = edge_release,
113 .port_probe = edge_port_probe,
114 .port_remove = edge_port_remove,
115 .ioctl = edge_ioctl,
116 .set_termios = edge_set_termios,
117 .tiocmget = edge_tiocmget,
118 .tiocmset = edge_tiocmset,
119 .tiocmiwait = usb_serial_generic_tiocmiwait,
120 .get_icount = usb_serial_generic_get_icount,
121 .write = edge_write,
122 .write_room = edge_write_room,
123 .chars_in_buffer = edge_chars_in_buffer,
124 .break_ctl = edge_break,
125 .read_int_callback = edge_interrupt_callback,
126 .read_bulk_callback = edge_bulk_in_callback,
127 .write_bulk_callback = edge_bulk_out_data_callback,
128};
129
130static struct usb_serial_driver edgeport_4port_device = {
131 .driver = {
132 .owner = THIS_MODULE,
133 .name = "edgeport_4",
134 },
135 .description = "Edgeport 4 port adapter",
136 .id_table = edgeport_4port_id_table,
137 .num_ports = 4,
138 .open = edge_open,
139 .close = edge_close,
140 .throttle = edge_throttle,
141 .unthrottle = edge_unthrottle,
142 .attach = edge_startup,
143 .disconnect = edge_disconnect,
144 .release = edge_release,
145 .port_probe = edge_port_probe,
146 .port_remove = edge_port_remove,
147 .ioctl = edge_ioctl,
148 .set_termios = edge_set_termios,
149 .tiocmget = edge_tiocmget,
150 .tiocmset = edge_tiocmset,
151 .tiocmiwait = usb_serial_generic_tiocmiwait,
152 .get_icount = usb_serial_generic_get_icount,
153 .write = edge_write,
154 .write_room = edge_write_room,
155 .chars_in_buffer = edge_chars_in_buffer,
156 .break_ctl = edge_break,
157 .read_int_callback = edge_interrupt_callback,
158 .read_bulk_callback = edge_bulk_in_callback,
159 .write_bulk_callback = edge_bulk_out_data_callback,
160};
161
162static struct usb_serial_driver edgeport_8port_device = {
163 .driver = {
164 .owner = THIS_MODULE,
165 .name = "edgeport_8",
166 },
167 .description = "Edgeport 8 port adapter",
168 .id_table = edgeport_8port_id_table,
169 .num_ports = 8,
170 .open = edge_open,
171 .close = edge_close,
172 .throttle = edge_throttle,
173 .unthrottle = edge_unthrottle,
174 .attach = edge_startup,
175 .disconnect = edge_disconnect,
176 .release = edge_release,
177 .port_probe = edge_port_probe,
178 .port_remove = edge_port_remove,
179 .ioctl = edge_ioctl,
180 .set_termios = edge_set_termios,
181 .tiocmget = edge_tiocmget,
182 .tiocmset = edge_tiocmset,
183 .tiocmiwait = usb_serial_generic_tiocmiwait,
184 .get_icount = usb_serial_generic_get_icount,
185 .write = edge_write,
186 .write_room = edge_write_room,
187 .chars_in_buffer = edge_chars_in_buffer,
188 .break_ctl = edge_break,
189 .read_int_callback = edge_interrupt_callback,
190 .read_bulk_callback = edge_bulk_in_callback,
191 .write_bulk_callback = edge_bulk_out_data_callback,
192};
193
194static struct usb_serial_driver epic_device = {
195 .driver = {
196 .owner = THIS_MODULE,
197 .name = "epic",
198 },
199 .description = "EPiC device",
200 .id_table = Epic_port_id_table,
201 .num_ports = 1,
202 .open = edge_open,
203 .close = edge_close,
204 .throttle = edge_throttle,
205 .unthrottle = edge_unthrottle,
206 .attach = edge_startup,
207 .disconnect = edge_disconnect,
208 .release = edge_release,
209 .port_probe = edge_port_probe,
210 .port_remove = edge_port_remove,
211 .ioctl = edge_ioctl,
212 .set_termios = edge_set_termios,
213 .tiocmget = edge_tiocmget,
214 .tiocmset = edge_tiocmset,
215 .tiocmiwait = usb_serial_generic_tiocmiwait,
216 .get_icount = usb_serial_generic_get_icount,
217 .write = edge_write,
218 .write_room = edge_write_room,
219 .chars_in_buffer = edge_chars_in_buffer,
220 .break_ctl = edge_break,
221 .read_int_callback = edge_interrupt_callback,
222 .read_bulk_callback = edge_bulk_in_callback,
223 .write_bulk_callback = edge_bulk_out_data_callback,
224};
225
226static struct usb_serial_driver * const serial_drivers[] = {
227 &edgeport_2port_device, &edgeport_4port_device,
228 &edgeport_8port_device, &epic_device, NULL
229};
230
231#endif
232