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 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
  26static 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
  40static 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
  50static 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 */
  63static 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
  96MODULE_DEVICE_TABLE(usb, id_table_combined);
  97
  98static 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
 130static 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
 162static 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
 194static 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
 226static 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
 233