blob: e7ffe02408bd760ebf6d766f31131007015ed636 [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
50/* Devices that this driver supports */
51static struct usb_device_id id_table_combined [] = {
52 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) },
53 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) },
54 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) },
55 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) },
56 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) },
57 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) },
58 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) },
59 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) },
60 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) },
61 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) },
62 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) },
63 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) },
64 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) },
65 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) },
66 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_22I) },
67 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_4) },
68 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_COMPATIBLE) },
69 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8I) },
70 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8R) },
71 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8RR) },
72 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_412_8) },
73 { } /* Terminating entry */
74};
75
76MODULE_DEVICE_TABLE (usb, id_table_combined);
77
78static struct usb_serial_device_type edgeport_2port_device = {
79 .owner = THIS_MODULE,
80 .name = "Edgeport 2 port adapter",
81 .short_name = "edgeport_2",
82 .id_table = edgeport_2port_id_table,
83 .num_interrupt_in = 1,
84 .num_bulk_in = 1,
85 .num_bulk_out = 1,
86 .num_ports = 2,
87 .open = edge_open,
88 .close = edge_close,
89 .throttle = edge_throttle,
90 .unthrottle = edge_unthrottle,
91 .attach = edge_startup,
92 .shutdown = edge_shutdown,
93 .ioctl = edge_ioctl,
94 .set_termios = edge_set_termios,
95 .tiocmget = edge_tiocmget,
96 .tiocmset = edge_tiocmset,
97 .write = edge_write,
98 .write_room = edge_write_room,
99 .chars_in_buffer = edge_chars_in_buffer,
100 .break_ctl = edge_break,
101 .read_int_callback = edge_interrupt_callback,
102 .read_bulk_callback = edge_bulk_in_callback,
103 .write_bulk_callback = edge_bulk_out_data_callback,
104};
105
106static struct usb_serial_device_type edgeport_4port_device = {
107 .owner = THIS_MODULE,
108 .name = "Edgeport 4 port adapter",
109 .short_name = "edgeport_4",
110 .id_table = edgeport_4port_id_table,
111 .num_interrupt_in = 1,
112 .num_bulk_in = 1,
113 .num_bulk_out = 1,
114 .num_ports = 4,
115 .open = edge_open,
116 .close = edge_close,
117 .throttle = edge_throttle,
118 .unthrottle = edge_unthrottle,
119 .attach = edge_startup,
120 .shutdown = edge_shutdown,
121 .ioctl = edge_ioctl,
122 .set_termios = edge_set_termios,
123 .tiocmget = edge_tiocmget,
124 .tiocmset = edge_tiocmset,
125 .write = edge_write,
126 .write_room = edge_write_room,
127 .chars_in_buffer = edge_chars_in_buffer,
128 .break_ctl = edge_break,
129 .read_int_callback = edge_interrupt_callback,
130 .read_bulk_callback = edge_bulk_in_callback,
131 .write_bulk_callback = edge_bulk_out_data_callback,
132};
133
134static struct usb_serial_device_type edgeport_8port_device = {
135 .owner = THIS_MODULE,
136 .name = "Edgeport 8 port adapter",
137 .short_name = "edgeport_8",
138 .id_table = edgeport_8port_id_table,
139 .num_interrupt_in = 1,
140 .num_bulk_in = 1,
141 .num_bulk_out = 1,
142 .num_ports = 8,
143 .open = edge_open,
144 .close = edge_close,
145 .throttle = edge_throttle,
146 .unthrottle = edge_unthrottle,
147 .attach = edge_startup,
148 .shutdown = edge_shutdown,
149 .ioctl = edge_ioctl,
150 .set_termios = edge_set_termios,
151 .tiocmget = edge_tiocmget,
152 .tiocmset = edge_tiocmset,
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#endif
163