diff options
-rw-r--r-- | drivers/usb/serial/io_edgeport.c | 217 | ||||
-rw-r--r-- | drivers/usb/serial/io_tables.h | 232 |
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 | ||
60 | static 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 | |||
69 | static 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 | |||
83 | static 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 | |||
93 | static 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 */ | ||
106 | static 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 | |||
139 | MODULE_DEVICE_TABLE(usb, id_table_combined); | ||
140 | |||
141 | |||
60 | /* receive port state */ | 142 | /* receive port state */ |
61 | enum RXSTATE { | 143 | enum 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); | |||
217 | static int edge_port_probe(struct usb_serial_port *port); | 299 | static int edge_port_probe(struct usb_serial_port *port); |
218 | static int edge_port_remove(struct usb_serial_port *port); | 300 | static 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 | ||
224 | static void process_rcvd_data(struct edgeport_serial *edge_serial, | 304 | static 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 | ||
3115 | static 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 | |||
3147 | static 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 | |||
3179 | static 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 | |||
3211 | static 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 | |||
3243 | static struct usb_serial_driver * const serial_drivers[] = { | ||
3244 | &edgeport_2port_device, &edgeport_4port_device, | ||
3245 | &edgeport_8port_device, &epic_device, NULL | ||
3246 | }; | ||
3247 | |||
3035 | module_usb_serial_driver(serial_drivers, id_table_combined); | 3248 | module_usb_serial_driver(serial_drivers, id_table_combined); |
3036 | 3249 | ||
3037 | MODULE_AUTHOR(DRIVER_AUTHOR); | 3250 | MODULE_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 | |||
17 | static 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 | |||
26 | static 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 | |||
40 | static 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 | |||
50 | static 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 */ | ||
63 | static 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 | |||
96 | MODULE_DEVICE_TABLE(usb, id_table_combined); | ||
97 | |||
98 | static 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 | |||
130 | static 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 | |||
162 | static 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 | |||
194 | static 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 | |||
226 | static 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 | |||