1 /* 2 * Siemens USB-MPI Serial USB driver 3 * 4 * Copyright (C) 2005 Thomas Hergenhahn <thomas.hergenhahn@suse.de> 5 * Copyright (C) 2005,2008 Greg Kroah-Hartman <gregkh@suse.de> 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License version 9 * 2 as published by the Free Software Foundation. 10 */ 11 12 #include <linux/kernel.h> 13 #include <linux/init.h> 14 #include <linux/tty.h> 15 #include <linux/module.h> 16 #include <linux/usb.h> 17 #include <linux/usb/serial.h> 18 19 /* Version Information */ 20 #define DRIVER_VERSION "Version 0.1 09/26/2005" 21 #define DRIVER_AUTHOR "Thomas Hergenhahn@web.de http://libnodave.sf.net" 22 #define DRIVER_DESC "Driver for Siemens USB/MPI adapter" 23 24 25 static const struct usb_device_id id_table[] = { 26 /* Vendor and product id for 6ES7-972-0CB20-0XA0 */ 27 { USB_DEVICE(0x908, 0x0004) }, 28 { }, 29 }; 30 MODULE_DEVICE_TABLE(usb, id_table); 31 32 static struct usb_driver siemens_usb_mpi_driver = { 33 .name = "siemens_mpi", 34 .probe = usb_serial_probe, 35 .disconnect = usb_serial_disconnect, 36 .id_table = id_table, 37 }; 38 39 static struct usb_serial_driver siemens_usb_mpi_device = { 40 .driver = { 41 .owner = THIS_MODULE, 42 .name = "siemens_mpi", 43 }, 44 .id_table = id_table, 45 .num_ports = 1, 46 }; 47 48 static struct usb_serial_driver * const serial_drivers[] = { 49 &siemens_usb_mpi_device, NULL 50 }; 51 52 module_usb_serial_driver(siemens_usb_mpi_driver, serial_drivers); 53 54 MODULE_AUTHOR(DRIVER_AUTHOR); 55 MODULE_DESCRIPTION(DRIVER_DESC); 56 MODULE_LICENSE("GPL"); 57