blob: 8aa4c1aef6d1665a9b421e9228f0d4767d05bb0d [file] [log] [blame]
Greg Kroah-Hartman5aa63752008-12-03 22:30:04 -08001/*
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
Németh Márton7d40d7e2010-01-10 15:34:24 +010025static const struct usb_device_id id_table[] = {
Greg Kroah-Hartman5aa63752008-12-03 22:30:04 -080026 /* Vendor and product id for 6ES7-972-0CB20-0XA0 */
27 { USB_DEVICE(0x908, 0x0004) },
28 { },
29};
30MODULE_DEVICE_TABLE(usb, id_table);
31
32static 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
39static struct usb_serial_driver siemens_usb_mpi_device = {
40 .driver = {
41 .owner = THIS_MODULE,
42 .name = "siemens_mpi",
43 },
44 .id_table = id_table,
Greg Kroah-Hartman5aa63752008-12-03 22:30:04 -080045 .num_ports = 1,
46};
47
Alan Sternd8603222012-02-23 14:57:25 -050048static struct usb_serial_driver * const serial_drivers[] = {
49 &siemens_usb_mpi_device, NULL
50};
51
Greg Kroah-Hartman5aa63752008-12-03 22:30:04 -080052static int __init siemens_usb_mpi_init(void)
53{
54 int retval;
55
Alan Sternd8603222012-02-23 14:57:25 -050056 retval = usb_serial_register_drivers(&siemens_usb_mpi_driver,
57 serial_drivers);
58 if (retval == 0) {
59 printk(KERN_INFO DRIVER_DESC "\n");
60 printk(KERN_INFO DRIVER_VERSION " " DRIVER_AUTHOR "\n");
61 }
Greg Kroah-Hartman5aa63752008-12-03 22:30:04 -080062 return retval;
63}
64
65static void __exit siemens_usb_mpi_exit(void)
66{
Alan Sternd8603222012-02-23 14:57:25 -050067 usb_serial_deregister_drivers(&siemens_usb_mpi_driver, serial_drivers);
Greg Kroah-Hartman5aa63752008-12-03 22:30:04 -080068}
69
70module_init(siemens_usb_mpi_init);
71module_exit(siemens_usb_mpi_exit);
72MODULE_AUTHOR(DRIVER_AUTHOR);
73MODULE_DESCRIPTION(DRIVER_DESC);
74MODULE_LICENSE("GPL");