Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / drivers / usb / serial / io_tables.h
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