linux/drivers/usb/serial/io_tables.h
<<
>>
Prefs
   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
  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
  50static 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 */
  63static 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
  96MODULE_DEVICE_TABLE (usb, id_table_combined);
  97
  98static struct usb_driver io_driver = {
  99        .name =         "io_edgeport",
 100        .probe =        usb_serial_probe,
 101        .disconnect =   usb_serial_disconnect,
 102        .id_table =     id_table_combined,
 103        .no_dynamic_id =        1,
 104};
 105
 106static struct usb_serial_driver edgeport_2port_device = {
 107        .driver = {
 108                .owner          = THIS_MODULE,
 109                .name           = "edgeport_2",
 110        },
 111        .description            = "Edgeport 2 port adapter",
 112        .usb_driver             = &io_driver,
 113        .id_table               = edgeport_2port_id_table,
 114        .num_interrupt_in       = 1,
 115        .num_bulk_in            = 1,
 116        .num_bulk_out           = 1,
 117        .num_ports              = 2,
 118        .open                   = edge_open,
 119        .close                  = edge_close,
 120        .throttle               = edge_throttle,
 121        .unthrottle             = edge_unthrottle,
 122        .attach                 = edge_startup,
 123        .shutdown               = edge_shutdown,
 124        .ioctl                  = edge_ioctl,
 125        .set_termios            = edge_set_termios,
 126        .tiocmget               = edge_tiocmget,
 127        .tiocmset               = edge_tiocmset,
 128        .write                  = edge_write,
 129        .write_room             = edge_write_room,
 130        .chars_in_buffer        = edge_chars_in_buffer,
 131        .break_ctl              = edge_break,
 132        .read_int_callback      = edge_interrupt_callback,
 133        .read_bulk_callback     = edge_bulk_in_callback,
 134        .write_bulk_callback    = edge_bulk_out_data_callback,
 135};
 136
 137static struct usb_serial_driver edgeport_4port_device = {
 138        .driver = {
 139                .owner          = THIS_MODULE,
 140                .name           = "edgeport_4",
 141        },
 142        .description            = "Edgeport 4 port adapter",
 143        .usb_driver             = &io_driver,
 144        .id_table               = edgeport_4port_id_table,
 145        .num_interrupt_in       = 1,
 146        .num_bulk_in            = 1,
 147        .num_bulk_out           = 1,
 148        .num_ports              = 4,
 149        .open                   = edge_open,
 150        .close                  = edge_close,
 151        .throttle               = edge_throttle,
 152        .unthrottle             = edge_unthrottle,
 153        .attach                 = edge_startup,
 154        .shutdown               = edge_shutdown,
 155        .ioctl                  = edge_ioctl,
 156        .set_termios            = edge_set_termios,
 157        .tiocmget               = edge_tiocmget,
 158        .tiocmset               = edge_tiocmset,
 159        .write                  = edge_write,
 160        .write_room             = edge_write_room,
 161        .chars_in_buffer        = edge_chars_in_buffer,
 162        .break_ctl              = edge_break,
 163        .read_int_callback      = edge_interrupt_callback,
 164        .read_bulk_callback     = edge_bulk_in_callback,
 165        .write_bulk_callback    = edge_bulk_out_data_callback,
 166};
 167
 168static struct usb_serial_driver edgeport_8port_device = {
 169        .driver = {
 170                .owner          = THIS_MODULE,
 171                .name           = "edgeport_8",
 172        },
 173        .description            = "Edgeport 8 port adapter",
 174        .usb_driver             = &io_driver,
 175        .id_table               = edgeport_8port_id_table,
 176        .num_interrupt_in       = 1,
 177        .num_bulk_in            = 1,
 178        .num_bulk_out           = 1,
 179        .num_ports              = 8,
 180        .open                   = edge_open,
 181        .close                  = edge_close,
 182        .throttle               = edge_throttle,
 183        .unthrottle             = edge_unthrottle,
 184        .attach                 = edge_startup,
 185        .shutdown               = edge_shutdown,
 186        .ioctl                  = edge_ioctl,
 187        .set_termios            = edge_set_termios,
 188        .tiocmget               = edge_tiocmget,
 189        .tiocmset               = edge_tiocmset,
 190        .write                  = edge_write,
 191        .write_room             = edge_write_room,
 192        .chars_in_buffer        = edge_chars_in_buffer,
 193        .break_ctl              = edge_break,
 194        .read_int_callback      = edge_interrupt_callback,
 195        .read_bulk_callback     = edge_bulk_in_callback,
 196        .write_bulk_callback    = edge_bulk_out_data_callback,
 197};
 198
 199static struct usb_serial_driver epic_device = {
 200        .driver = {
 201                .owner          = THIS_MODULE,
 202                .name           = "epic",
 203        },
 204        .description            = "EPiC device",
 205        .id_table               = Epic_port_id_table,
 206        .num_interrupt_in       = 1,
 207        .num_bulk_in            = 1,
 208        .num_bulk_out           = 1,
 209        .num_ports              = 1,
 210        .open                   = edge_open,
 211        .close                  = edge_close,
 212        .throttle               = edge_throttle,
 213        .unthrottle             = edge_unthrottle,
 214        .attach                 = edge_startup,
 215        .shutdown               = edge_shutdown,
 216        .ioctl                  = edge_ioctl,
 217        .set_termios            = edge_set_termios,
 218        .tiocmget               = edge_tiocmget,
 219        .tiocmset               = edge_tiocmset,
 220        .write                  = edge_write,
 221        .write_room             = edge_write_room,
 222        .chars_in_buffer        = edge_chars_in_buffer,
 223        .break_ctl              = edge_break,
 224        .read_int_callback      = edge_interrupt_callback,
 225        .read_bulk_callback     = edge_bulk_in_callback,
 226        .write_bulk_callback    = edge_bulk_out_data_callback,
 227};
 228
 229#endif
 230
 231