• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
233