diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2008-12-03 22:36:52 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-12-03 22:36:52 -0800 |
| commit | 3cad139d305b63d9e0d2630bf4b43e93597ad1e8 (patch) | |
| tree | 46ca2a84c3dec64c405ba0efd050ae4948690633 /usb | |
| parent | bccc4be6d463e0831e3e3beee93d69d98ab902f7 (diff) | |
| download | patches-3cad139d305b63d9e0d2630bf4b43e93597ad1e8.tar.gz | |
another usb-serial "stub" driver.
Diffstat (limited to 'usb')
| -rw-r--r-- | usb/usb-add-siemens_mpi-usb-serial-stub-driver.patch | 129 |
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"); |
