blob: 6d3008772540fc2eccbda153930195a574216cf9 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
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 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 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 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
Greg Kroah-Hartman6e8cf772007-01-18 00:20:19 -080050static 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
Linus Torvalds1da177e2005-04-16 15:20:36 -070062/* Devices that this driver supports */
63static 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) },
Greg Kroah-Hartman6e8cf772007-01-18 00:20:19 -080085 { 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) },
Linus Torvalds1da177e2005-04-16 15:20:36 -070093 { } /* Terminating entry */
94};
95
96MODULE_DEVICE_TABLE (usb, id_table_combined);
97
Johannes Hölzld9b1b782006-12-17 21:50:24 +010098static struct usb_driver io_driver = {
99 .name = "io_edgeport",
100 .probe = usb_serial_probe,
101 .disconnect = usb_serial_disconnect,
102 .id_table = id_table_combined,
103 .no_dynamic_id = 1,
104};
105
Greg Kroah-Hartmanea653702005-06-20 21:15:16 -0700106static struct usb_serial_driver edgeport_2port_device = {
Greg Kroah-Hartman18fcac32005-06-20 21:15:16 -0700107 .driver = {
108 .owner = THIS_MODULE,
Greg Kroah-Hartman269bda12005-06-20 21:15:16 -0700109 .name = "edgeport_2",
Greg Kroah-Hartman18fcac32005-06-20 21:15:16 -0700110 },
Greg Kroah-Hartman269bda12005-06-20 21:15:16 -0700111 .description = "Edgeport 2 port adapter",
Johannes Hölzld9b1b782006-12-17 21:50:24 +0100112 .usb_driver = &io_driver,
Linus Torvalds1da177e2005-04-16 15:20:36 -0700113 .id_table = edgeport_2port_id_table,
114 .num_interrupt_in = 1,
115 .num_bulk_in = 1,
116 .num_bulk_out = 1,
117 .num_ports = 2,
118 .open = edge_open,
119 .close = edge_close,
120 .throttle = edge_throttle,
121 .unthrottle = edge_unthrottle,
122 .attach = edge_startup,
123 .shutdown = edge_shutdown,
124 .ioctl = edge_ioctl,
125 .set_termios = edge_set_termios,
126 .tiocmget = edge_tiocmget,
127 .tiocmset = edge_tiocmset,
128 .write = edge_write,
129 .write_room = edge_write_room,
130 .chars_in_buffer = edge_chars_in_buffer,
131 .break_ctl = edge_break,
132 .read_int_callback = edge_interrupt_callback,
133 .read_bulk_callback = edge_bulk_in_callback,
134 .write_bulk_callback = edge_bulk_out_data_callback,
135};
136
Greg Kroah-Hartmanea653702005-06-20 21:15:16 -0700137static struct usb_serial_driver edgeport_4port_device = {
Greg Kroah-Hartman18fcac32005-06-20 21:15:16 -0700138 .driver = {
139 .owner = THIS_MODULE,
Greg Kroah-Hartman269bda12005-06-20 21:15:16 -0700140 .name = "edgeport_4",
Greg Kroah-Hartman18fcac32005-06-20 21:15:16 -0700141 },
Greg Kroah-Hartman269bda12005-06-20 21:15:16 -0700142 .description = "Edgeport 4 port adapter",
Johannes Hölzld9b1b782006-12-17 21:50:24 +0100143 .usb_driver = &io_driver,
Linus Torvalds1da177e2005-04-16 15:20:36 -0700144 .id_table = edgeport_4port_id_table,
145 .num_interrupt_in = 1,
146 .num_bulk_in = 1,
147 .num_bulk_out = 1,
148 .num_ports = 4,
149 .open = edge_open,
150 .close = edge_close,
151 .throttle = edge_throttle,
152 .unthrottle = edge_unthrottle,
153 .attach = edge_startup,
154 .shutdown = edge_shutdown,
155 .ioctl = edge_ioctl,
156 .set_termios = edge_set_termios,
157 .tiocmget = edge_tiocmget,
158 .tiocmset = edge_tiocmset,
159 .write = edge_write,
160 .write_room = edge_write_room,
161 .chars_in_buffer = edge_chars_in_buffer,
162 .break_ctl = edge_break,
163 .read_int_callback = edge_interrupt_callback,
164 .read_bulk_callback = edge_bulk_in_callback,
165 .write_bulk_callback = edge_bulk_out_data_callback,
166};
167
Greg Kroah-Hartmanea653702005-06-20 21:15:16 -0700168static struct usb_serial_driver edgeport_8port_device = {
Greg Kroah-Hartman18fcac32005-06-20 21:15:16 -0700169 .driver = {
170 .owner = THIS_MODULE,
Greg Kroah-Hartman269bda12005-06-20 21:15:16 -0700171 .name = "edgeport_8",
Greg Kroah-Hartman18fcac32005-06-20 21:15:16 -0700172 },
Greg Kroah-Hartman269bda12005-06-20 21:15:16 -0700173 .description = "Edgeport 8 port adapter",
Johannes Hölzld9b1b782006-12-17 21:50:24 +0100174 .usb_driver = &io_driver,
Linus Torvalds1da177e2005-04-16 15:20:36 -0700175 .id_table = edgeport_8port_id_table,
176 .num_interrupt_in = 1,
177 .num_bulk_in = 1,
178 .num_bulk_out = 1,
179 .num_ports = 8,
180 .open = edge_open,
181 .close = edge_close,
182 .throttle = edge_throttle,
183 .unthrottle = edge_unthrottle,
184 .attach = edge_startup,
185 .shutdown = edge_shutdown,
186 .ioctl = edge_ioctl,
187 .set_termios = edge_set_termios,
188 .tiocmget = edge_tiocmget,
189 .tiocmset = edge_tiocmset,
190 .write = edge_write,
191 .write_room = edge_write_room,
192 .chars_in_buffer = edge_chars_in_buffer,
193 .break_ctl = edge_break,
194 .read_int_callback = edge_interrupt_callback,
195 .read_bulk_callback = edge_bulk_in_callback,
196 .write_bulk_callback = edge_bulk_out_data_callback,
197};
198
Greg Kroah-Hartman6e8cf772007-01-18 00:20:19 -0800199static struct usb_serial_driver epic_device = {
200 .driver = {
201 .owner = THIS_MODULE,
202 .name = "epic",
203 },
204 .description = "EPiC device",
205 .id_table = Epic_port_id_table,
206 .num_interrupt_in = 1,
207 .num_bulk_in = 1,
208 .num_bulk_out = 1,
209 .num_ports = 1,
210 .open = edge_open,
211 .close = edge_close,
212 .throttle = edge_throttle,
213 .unthrottle = edge_unthrottle,
214 .attach = edge_startup,
215 .shutdown = edge_shutdown,
216 .ioctl = edge_ioctl,
217 .set_termios = edge_set_termios,
218 .tiocmget = edge_tiocmget,
219 .tiocmset = edge_tiocmset,
220 .write = edge_write,
221 .write_room = edge_write_room,
222 .chars_in_buffer = edge_chars_in_buffer,
223 .break_ctl = edge_break,
224 .read_int_callback = edge_interrupt_callback,
225 .read_bulk_callback = edge_bulk_in_callback,
226 .write_bulk_callback = edge_bulk_out_data_callback,
227};
228
Linus Torvalds1da177e2005-04-16 15:20:36 -0700229#endif
230