2 * IO Edgeport Driver tables
5 * Greg Kroah-Hartman (greg@kroah.com)
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.
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
) },
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
) },
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
) },
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
) },
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 */
96 MODULE_DEVICE_TABLE(usb
, id_table_combined
);
98 static struct usb_serial_driver edgeport_2port_device
= {
100 .owner
= THIS_MODULE
,
101 .name
= "edgeport_2",
103 .description
= "Edgeport 2 port adapter",
104 .id_table
= edgeport_2port_id_table
,
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
,
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
,
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
,
130 static struct usb_serial_driver edgeport_4port_device
= {
132 .owner
= THIS_MODULE
,
133 .name
= "edgeport_4",
135 .description
= "Edgeport 4 port adapter",
136 .id_table
= edgeport_4port_id_table
,
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
,
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
,
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
,
162 static struct usb_serial_driver edgeport_8port_device
= {
164 .owner
= THIS_MODULE
,
165 .name
= "edgeport_8",
167 .description
= "Edgeport 8 port adapter",
168 .id_table
= edgeport_8port_id_table
,
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
,
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
,
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
,
194 static struct usb_serial_driver epic_device
= {
196 .owner
= THIS_MODULE
,
199 .description
= "EPiC device",
200 .id_table
= Epic_port_id_table
,
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
,
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
,
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
,
226 static struct usb_serial_driver
* const serial_drivers
[] = {
227 &edgeport_2port_device
, &edgeport_4port_device
,
228 &edgeport_8port_device
, &epic_device
, NULL