aboutsummaryrefslogtreecommitdiffstats
path: root/usb
diff options
authorGreg Kroah-Hartman <gregkh@suse.de>2008-12-03 22:36:52 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2008-12-03 22:36:52 -0800
commit3cad139d305b63d9e0d2630bf4b43e93597ad1e8 (patch)
tree46ca2a84c3dec64c405ba0efd050ae4948690633 /usb
parentbccc4be6d463e0831e3e3beee93d69d98ab902f7 (diff)
downloadpatches-3cad139d305b63d9e0d2630bf4b43e93597ad1e8.tar.gz
another usb-serial "stub" driver.
Diffstat (limited to 'usb')
-rw-r--r--usb/usb-add-siemens_mpi-usb-serial-stub-driver.patch129
1 files changed, 129 insertions, 0 deletions
diff --git a/usb/usb-add-siemens_mpi-usb-serial-stub-driver.patch b/usb/usb-add-siemens_mpi-usb-serial-stub-driver.patch
new file mode 100644
index 00000000000000..e66ca5841daf80
--- /dev/null
+++ b/usb/usb-add-siemens_mpi-usb-serial-stub-driver.patch
@@ -0,0 +1,129 @@
+From foo@baz Wed Dec 3 22:30:04 PST 2008
+Date: Wed, 03 Dec 2008 22:30:04 -0800
+To: Greg KH <greg@kroah.com>
+From: Greg Kroah-Hartman <gregkh@suse.de>
+Subject: USB: add siemens_mpi usb-serial "stub" driver
+
+From: Greg Kroah-Hartman <gregkh@suse.de>
+
+This driver got rescued from a few years ago and was requested to be
+added. So I cleaned it up, ported it to the latest kernel version and
+here it is.
+
+Cc: Thomas Hergenhahn <thomas.hergenhahn@suse.de>
+Cc: Emmanuele <iemmav@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/serial/Kconfig | 8 ++++
+ drivers/usb/serial/Makefile | 1
+ drivers/usb/serial/siemens_mpi.c | 77 +++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 86 insertions(+)
+
+--- a/drivers/usb/serial/Kconfig
++++ b/drivers/usb/serial/Kconfig
+@@ -496,6 +496,14 @@ config USB_SERIAL_SAFE_PADDED
+ bool "USB Secure Encapsulated Driver - Padded"
+ depends on USB_SERIAL_SAFE
+
++config USB_SERIAL_SIEMENS_MPI
++ tristate "USB Siemens MPI driver"
++ help
++ Say M here if you want to use a Siemens USB/MPI adapter.
++
++ To compile this driver as a module, choose M here: the
++ module will be called siemens_mpi.
++
+ config USB_SERIAL_SIERRAWIRELESS
+ tristate "USB Sierra Wireless Driver"
+ help
+--- a/drivers/usb/serial/Makefile
++++ b/drivers/usb/serial/Makefile
+@@ -46,6 +46,7 @@ obj-$(CONFIG_USB_SERIAL_OPTION) += opt
+ obj-$(CONFIG_USB_SERIAL_OTI6858) += oti6858.o
+ obj-$(CONFIG_USB_SERIAL_PL2303) += pl2303.o
+ obj-$(CONFIG_USB_SERIAL_SAFE) += safe_serial.o
++obj-$(CONFIG_USB_SERIAL_SIEMENS_MPI) += siemens_mpi.o
+ obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS) += sierra.o
+ obj-$(CONFIG_USB_SERIAL_SPCP8X5) += spcp8x5.o
+ obj-$(CONFIG_USB_SERIAL_TI) += ti_usb_3410_5052.o
+--- /dev/null
++++ b/drivers/usb/serial/siemens_mpi.c
+@@ -0,0 +1,77 @@
++/*
++ * Siemens USB-MPI Serial USB driver
++ *
++ * Copyright (C) 2005 Thomas Hergenhahn <thomas.hergenhahn@suse.de>
++ * Copyright (C) 2005,2008 Greg Kroah-Hartman <gregkh@suse.de>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License version
++ * 2 as published by the Free Software Foundation.
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/tty.h>
++#include <linux/module.h>
++#include <linux/usb.h>
++#include <linux/usb/serial.h>
++
++/* Version Information */
++#define DRIVER_VERSION "Version 0.1 09/26/2005"
++#define DRIVER_AUTHOR "Thomas Hergenhahn@web.de http://libnodave.sf.net"
++#define DRIVER_DESC "Driver for Siemens USB/MPI adapter"
++
++
++static struct usb_device_id id_table[] = {
++ /* Vendor and product id for 6ES7-972-0CB20-0XA0 */
++ { USB_DEVICE(0x908, 0x0004) },
++ { },
++};
++MODULE_DEVICE_TABLE(usb, id_table);
++
++static struct usb_driver siemens_usb_mpi_driver = {
++ .name = "siemens_mpi",
++ .probe = usb_serial_probe,
++ .disconnect = usb_serial_disconnect,
++ .id_table = id_table,
++};
++
++static struct usb_serial_driver siemens_usb_mpi_device = {
++ .driver = {
++ .owner = THIS_MODULE,
++ .name = "siemens_mpi",
++ },
++ .id_table = id_table,
++ .num_ports = 1,
++};
++
++static int __init siemens_usb_mpi_init(void)
++{
++ int retval;
++
++ retval = usb_serial_register(&siemens_usb_mpi_device);
++ if (retval)
++ goto failed_usb_serial_register;
++ retval = usb_register(&siemens_usb_mpi_driver);
++ if (retval)
++ goto failed_usb_register;
++ printk(KERN_INFO DRIVER_DESC "\n");
++ printk(KERN_INFO DRIVER_VERSION " " DRIVER_AUTHOR "\n");
++ return retval;
++failed_usb_register:
++ usb_serial_deregister(&siemens_usb_mpi_device);
++failed_usb_serial_register:
++ return retval;
++}
++
++static void __exit siemens_usb_mpi_exit(void)
++{
++ usb_deregister(&siemens_usb_mpi_driver);
++ usb_serial_deregister(&siemens_usb_mpi_device);
++}
++
++module_init(siemens_usb_mpi_init);
++module_exit(siemens_usb_mpi_exit);
++MODULE_AUTHOR(DRIVER_AUTHOR);
++MODULE_DESCRIPTION(DRIVER_DESC);
++MODULE_LICENSE("GPL");