Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / 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 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 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 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 */
51 static 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
76 MODULE_DEVICE_TABLE (usb, id_table_combined);
77
78 static 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
106 static 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
134 static 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