2 * Siemens USB-MPI Serial USB driver
4 * Copyright (C) 2005 Thomas Hergenhahn <thomas.hergenhahn@suse.de>
5 * Copyright (C) 2005,2008 Greg Kroah-Hartman <gregkh@suse.de>
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.
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>
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"
25 static const struct usb_device_id id_table
[] = {
26 /* Vendor and product id for 6ES7-972-0CB20-0XA0 */
27 { USB_DEVICE(0x908, 0x0004) },
30 MODULE_DEVICE_TABLE(usb
, id_table
);
32 static struct usb_driver siemens_usb_mpi_driver
= {
33 .name
= "siemens_mpi",
34 .probe
= usb_serial_probe
,
35 .disconnect
= usb_serial_disconnect
,
39 static struct usb_serial_driver siemens_usb_mpi_device
= {
42 .name
= "siemens_mpi",
45 .usb_driver
= &siemens_usb_mpi_driver
,
49 static int __init
siemens_usb_mpi_init(void)
53 retval
= usb_serial_register(&siemens_usb_mpi_device
);
55 goto failed_usb_serial_register
;
56 retval
= usb_register(&siemens_usb_mpi_driver
);
58 goto failed_usb_register
;
59 printk(KERN_INFO DRIVER_DESC
"\n");
60 printk(KERN_INFO DRIVER_VERSION
" " DRIVER_AUTHOR
"\n");
63 usb_serial_deregister(&siemens_usb_mpi_device
);
64 failed_usb_serial_register
:
68 static void __exit
siemens_usb_mpi_exit(void)
70 usb_deregister(&siemens_usb_mpi_driver
);
71 usb_serial_deregister(&siemens_usb_mpi_device
);
74 module_init(siemens_usb_mpi_init
);
75 module_exit(siemens_usb_mpi_exit
);
76 MODULE_AUTHOR(DRIVER_AUTHOR
);
77 MODULE_DESCRIPTION(DRIVER_DESC
);
78 MODULE_LICENSE("GPL");