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_1port_id_table [] = { 18 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_PARALLEL_PORT) }, 19 { } 20 }; 21 22 static struct usb_device_id edgeport_2port_id_table [] = { 23 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) }, 24 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) }, 25 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) }, 26 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) }, 27 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) }, 28 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_2) }, 29 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_2I) }, 30 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_421) }, 31 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_21) }, 32 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_2_DIN) }, 33 { } 34 }; 35 36 static struct usb_device_id edgeport_4port_id_table [] = { 37 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) }, 38 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) }, 39 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) }, 40 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) }, 41 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) }, 42 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) }, 43 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) }, 44 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_COMPATIBLE) }, 45 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_4) }, 46 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_4T) }, 47 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_4I) }, 48 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_8_DUAL_CPU) }, 49 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_4_DIN) }, 50 { } 51 }; 52 53 static struct usb_device_id edgeport_8port_id_table [] = { 54 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) }, 55 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) }, 56 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8I) }, 57 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_8) }, 58 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_16_DUAL_CPU) }, 59 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_8I) }, 60 { } 61 }; 62 63 /* Devices that this driver supports */ 64 static __devinitdata struct usb_device_id id_table_combined [] = { 65 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4) }, 66 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_RAPIDPORT_4) }, 67 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4T) }, 68 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_MT4X56USB) }, 69 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2) }, 70 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4I) }, 71 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2I) }, 72 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_PARALLEL_PORT) }, 73 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_421) }, 74 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_21) }, 75 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8_DUAL_CPU) }, 76 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_8) }, 77 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_2_DIN) }, 78 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_4_DIN) }, 79 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_EDGEPORT_16_DUAL_CPU) }, 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_BB_EDGEPORT_2) }, 83 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_2I) }, 84 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_421) }, 85 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_21) }, 86 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_2_DIN) }, 87 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_4) }, 88 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_4T) }, 89 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_4I) }, 90 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_8_DUAL_CPU) }, 91 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_4_DIN) }, 92 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_8) }, 93 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_16_DUAL_CPU) }, 94 { USB_DEVICE(USB_VENDOR_ID_ION, ION_DEVICE_ID_BB_EDGEPORT_8I) }, 95 { } /* Terminating entry */ 96 }; 97 98 MODULE_DEVICE_TABLE (usb, id_table_combined); 99 100 static struct usb_serial_device_type edgeport_1port_device = { 101 owner: THIS_MODULE, 102 name: "Edgeport 1 port adapter", 103 id_table: edgeport_1port_id_table, 104 num_interrupt_in: 1, 105 num_bulk_in: 1, 106 num_bulk_out: 1, 107 num_ports: 1, 108 open: edge_open, 109 close: edge_close, 110 throttle: edge_throttle, 111 unthrottle: edge_unthrottle, 112 startup: edge_startup, 113 shutdown: edge_shutdown, 114 ioctl: edge_ioctl, 115 set_termios: edge_set_termios, 116 write: edge_write, 117 write_room: edge_write_room, 118 chars_in_buffer: edge_chars_in_buffer, 119 break_ctl: edge_break, 120 }; 121 122 static struct usb_serial_device_type edgeport_2port_device = { 123 owner: THIS_MODULE, 124 name: "Edgeport 2 port adapter", 125 id_table: edgeport_2port_id_table, 126 num_interrupt_in: 1, 127 num_bulk_in: 1, 128 num_bulk_out: 1, 129 num_ports: 2, 130 open: edge_open, 131 close: edge_close, 132 throttle: edge_throttle, 133 unthrottle: edge_unthrottle, 134 startup: edge_startup, 135 shutdown: edge_shutdown, 136 ioctl: edge_ioctl, 137 set_termios: edge_set_termios, 138 write: edge_write, 139 write_room: edge_write_room, 140 chars_in_buffer: edge_chars_in_buffer, 141 break_ctl: edge_break, 142 }; 143 144 static struct usb_serial_device_type edgeport_4port_device = { 145 owner: THIS_MODULE, 146 name: "Edgeport 4 port adapter", 147 id_table: edgeport_4port_id_table, 148 num_interrupt_in: 1, 149 num_bulk_in: 1, 150 num_bulk_out: 1, 151 num_ports: 4, 152 open: edge_open, 153 close: edge_close, 154 throttle: edge_throttle, 155 unthrottle: edge_unthrottle, 156 startup: edge_startup, 157 shutdown: edge_shutdown, 158 ioctl: edge_ioctl, 159 set_termios: edge_set_termios, 160 write: edge_write, 161 write_room: edge_write_room, 162 chars_in_buffer: edge_chars_in_buffer, 163 break_ctl: edge_break, 164 }; 165 166 static struct usb_serial_device_type edgeport_8port_device = { 167 owner: THIS_MODULE, 168 name: "Edgeport 8 port adapter", 169 id_table: edgeport_8port_id_table, 170 num_interrupt_in: 1, 171 num_bulk_in: 1, 172 num_bulk_out: 1, 173 num_ports: 8, 174 open: edge_open, 175 close: edge_close, 176 throttle: edge_throttle, 177 unthrottle: edge_unthrottle, 178 startup: edge_startup, 179 shutdown: edge_shutdown, 180 ioctl: edge_ioctl, 181 set_termios: edge_set_termios, 182 write: edge_write, 183 write_room: edge_write_room, 184 chars_in_buffer: edge_chars_in_buffer, 185 break_ctl: edge_break, 186 }; 187 188 #endif 189 190