On Mon, 2013-08-05 at 19:41 +0800, Greg Kroah-Hartman wrote: > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > Instead of having to create a new driver for a "simple" usb to serial > device, mush them all into one file, with a macro, so as to make it easy > to add new ones. > > Cc: "René Bürgel" <rene.buergel@xxxxxxxxx> > Cc: Wei Shuai <cpuwolf@xxxxxxxxx> > Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> > Cc: Frans Klaver <frans.klaver@xxxxxxxxx> > Cc: "Wesley W. Terpstra" <w.terpstra@xxxxxx> > Cc: Johan Hovold <jhovold@xxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > > --- > > Warning, compile tested only for now. > > > drivers/usb/serial/Kconfig | 84 +++++-------------------- > drivers/usb/serial/Makefile | 9 -- > drivers/usb/serial/flashloader.c | 39 ----------- > drivers/usb/serial/funsoft.c | 40 ------------ > drivers/usb/serial/hp4x.c | 51 --------------- > drivers/usb/serial/moto_modem.c | 48 -------------- > drivers/usb/serial/siemens_mpi.c | 47 -------------- > drivers/usb/serial/suunto.c | 41 ------------ > drivers/usb/serial/usb-serial-simple.c | 110 +++++++++++++++++++++++++++++++++ > drivers/usb/serial/vivopay-serial.c | 43 ------------ > drivers/usb/serial/zio.c | 39 ----------- > 11 files changed, 129 insertions(+), 422 deletions(-) > > --- a/drivers/usb/serial/Kconfig > +++ b/drivers/usb/serial/Kconfig > @@ -51,6 +51,24 @@ config USB_SERIAL_GENERIC > support" be compiled as a module for this driver to be used > properly. > > +config USB_SERIAL_SIMPLE > + tristate "USB Serial Simple Driver" > + help > + Say Y here to use the USB serial "simple" driver. This driver > + handles a wide range of very simple devices, all in one > + driver. Specifically, it supports: > + - Suunto ANT+ USB device. > + - Fundamental Software dongle. > + - HP4x calculators > + - a number of Motoroloa phones > + - Siemens USB/MPI adapter. > + - ViVOtech ViVOpay USB device. > + - Infineon Modem Flashloader USB interface > + - ZIO Motherboard USB serial interface > + > + To compile this driver as a module, choose M here: the module > + will be called usb-serial-simple. > + > config USB_SERIAL_AIRCABLE > tristate "USB AIRcable Bluetooth Dongle Driver" > help > @@ -158,14 +176,6 @@ config USB_SERIAL_FTDI_SIO > To compile this driver as a module, choose M here: the > module will be called ftdi_sio. > > -config USB_SERIAL_FUNSOFT > - tristate "USB Fundamental Software Dongle Driver" > - ---help--- > - Say Y here if you want to use the Fundamental Software dongle. > - > - To compile this driver as a module, choose M here: the > - module will be called funsoft. > - > config USB_SERIAL_VISOR > tristate "USB Handspring Visor / Palm m50x / Sony Clie Driver" > help > @@ -462,15 +472,6 @@ config USB_SERIAL_MOS7840 > To compile this driver as a module, choose M here: the > module will be called mos7840. If unsure, choose N. > > -config USB_SERIAL_MOTOROLA > - tristate "USB Motorola Phone modem driver" > - ---help--- > - Say Y here if you want to use a Motorola phone with a USB > - connector as a modem link. > - > - To compile this driver as a module, choose M here: the > - module will be called moto_modem. If unsure, choose N. > - > config USB_SERIAL_NAVMAN > tristate "USB Navman GPS device" > help > @@ -525,14 +526,6 @@ config USB_SERIAL_SPCP8X5 > To compile this driver as a module, choose M here: the > module will be called spcp8x5. > > -config USB_SERIAL_HP4X > - tristate "USB HP4x Calculators support" > - help > - Say Y here if you want to use an Hewlett-Packard 4x Calculator. > - > - To compile this driver as a module, choose M here: the > - module will be called hp4x. > - > config USB_SERIAL_SAFE > tristate "USB Safe Serial (Encapsulated) Driver" > > @@ -540,14 +533,6 @@ 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 > @@ -639,14 +624,6 @@ config USB_SERIAL_OPTICON > To compile this driver as a module, choose M here: the > module will be called opticon. > > -config USB_SERIAL_VIVOPAY_SERIAL > - tristate "USB ViVOpay serial interface driver" > - help > - Say Y here if you want to use a ViVOtech ViVOpay USB device. > - > - To compile this driver as a module, choose M here: the > - module will be called vivopay-serial. > - > config USB_SERIAL_XSENS_MT > tristate "Xsens motion tracker serial interface driver" > help > @@ -659,14 +636,6 @@ config USB_SERIAL_XSENS_MT > To compile this driver as a module, choose M here: the > module will be called xsens_mt. > > -config USB_SERIAL_ZIO > - tristate "ZIO Motherboard USB serial interface driver" > - help > - Say Y here if you want to use ZIO Motherboard. > - > - To compile this driver as a module, choose M here: the > - module will be called zio. > - > config USB_SERIAL_WISHBONE > tristate "USB-Wishbone adapter interface driver" > help > @@ -710,23 +679,6 @@ config USB_SERIAL_QT2 > To compile this driver as a module, choose M here: the > module will be called quatech-serial. > > -config USB_SERIAL_FLASHLOADER > - tristate "Infineon Modem Flashloader USB interface driver" > - help > - Say Y here if you want to download Infineon Modem > - via USB Flashloader serial driver. > - > - To compile this driver as a module, choose M here: the > - module will be called flashloader. > - > -config USB_SERIAL_SUUNTO > - tristate "USB Suunto ANT+ driver" > - help > - Say Y here if you want to use the Suunto ANT+ USB device. > - > - To compile this driver as a module, choose M here: the > - module will be called suunto. > - > config USB_SERIAL_DEBUG > tristate "USB Debugging Device" > help > --- a/drivers/usb/serial/Makefile > +++ b/drivers/usb/serial/Makefile > @@ -24,9 +24,7 @@ obj-$(CONFIG_USB_SERIAL_EDGEPORT_TI) += > obj-$(CONFIG_USB_SERIAL_EMPEG) += empeg.o > obj-$(CONFIG_USB_SERIAL_F81232) += f81232.o > obj-$(CONFIG_USB_SERIAL_FTDI_SIO) += ftdi_sio.o > -obj-$(CONFIG_USB_SERIAL_FUNSOFT) += funsoft.o > obj-$(CONFIG_USB_SERIAL_GARMIN) += garmin_gps.o > -obj-$(CONFIG_USB_SERIAL_HP4X) += hp4x.o > obj-$(CONFIG_USB_SERIAL_IPAQ) += ipaq.o > obj-$(CONFIG_USB_SERIAL_IPW) += ipw.o > obj-$(CONFIG_USB_SERIAL_IR) += ir-usb.o > @@ -39,7 +37,6 @@ obj-$(CONFIG_USB_SERIAL_MCT_U232) += mc > obj-$(CONFIG_USB_SERIAL_METRO) += metro-usb.o > obj-$(CONFIG_USB_SERIAL_MOS7720) += mos7720.o > obj-$(CONFIG_USB_SERIAL_MOS7840) += mos7840.o > -obj-$(CONFIG_USB_SERIAL_MOTOROLA) += moto_modem.o > obj-$(CONFIG_USB_SERIAL_NAVMAN) += navman.o > obj-$(CONFIG_USB_SERIAL_OMNINET) += omninet.o > obj-$(CONFIG_USB_SERIAL_OPTICON) += opticon.o > @@ -50,11 +47,10 @@ obj-$(CONFIG_USB_SERIAL_QCAUX) += qcau > obj-$(CONFIG_USB_SERIAL_QUALCOMM) += qcserial.o > obj-$(CONFIG_USB_SERIAL_QT2) += quatech2.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_SIMPLE) += usb-serial-simple.o > obj-$(CONFIG_USB_SERIAL_SPCP8X5) += spcp8x5.o > obj-$(CONFIG_USB_SERIAL_SSU100) += ssu100.o > -obj-$(CONFIG_USB_SERIAL_SUUNTO) += suunto.o > obj-$(CONFIG_USB_SERIAL_SYMBOL) += symbolserial.o > obj-$(CONFIG_USB_SERIAL_WWAN) += usb_wwan.o > obj-$(CONFIG_USB_SERIAL_TI) += ti_usb_3410_5052.o > @@ -62,8 +58,5 @@ obj-$(CONFIG_USB_SERIAL_VISOR) += viso > obj-$(CONFIG_USB_SERIAL_WISHBONE) += wishbone-serial.o > obj-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat.o > obj-$(CONFIG_USB_SERIAL_XIRCOM) += keyspan_pda.o > -obj-$(CONFIG_USB_SERIAL_VIVOPAY_SERIAL) += vivopay-serial.o > obj-$(CONFIG_USB_SERIAL_XSENS_MT) += xsens_mt.o > -obj-$(CONFIG_USB_SERIAL_ZIO) += zio.o > obj-$(CONFIG_USB_SERIAL_ZTE) += zte_ev.o > -obj-$(CONFIG_USB_SERIAL_FLASHLOADER) += flashloader.o > --- a/drivers/usb/serial/flashloader.c > +++ /dev/null > @@ -1,39 +0,0 @@ > -/* > - * Infineon Flashloader driver > - * > - * Copyright (C) 2013 Wei Shuai <cpuwolf@xxxxxxxxx> > - * > - * 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> > -#include <linux/uaccess.h> > - > -static const struct usb_device_id id_table[] = { > - { USB_DEVICE(0x8087, 0x0716) }, > - { }, > -}; > -MODULE_DEVICE_TABLE(usb, id_table); > - > -static struct usb_serial_driver flashloader_device = { > - .driver = { > - .owner = THIS_MODULE, > - .name = "flashloader", > - }, > - .id_table = id_table, > - .num_ports = 1, > -}; > - > -static struct usb_serial_driver * const serial_drivers[] = { > - &flashloader_device, NULL > -}; > - > -module_usb_serial_driver(serial_drivers, id_table); > -MODULE_LICENSE("GPL"); > --- a/drivers/usb/serial/funsoft.c > +++ /dev/null > @@ -1,40 +0,0 @@ > -/* > - * Funsoft Serial USB driver > - * > - * Copyright (C) 2006 Greg Kroah-Hartman <gregkh@xxxxxxx> > - * > - * 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> > -#include <linux/uaccess.h> > - > -static const struct usb_device_id id_table[] = { > - { USB_DEVICE(0x1404, 0xcddc) }, > - { }, > -}; > -MODULE_DEVICE_TABLE(usb, id_table); > - > -static struct usb_serial_driver funsoft_device = { > - .driver = { > - .owner = THIS_MODULE, > - .name = "funsoft", > - }, > - .id_table = id_table, > - .num_ports = 1, > -}; > - > -static struct usb_serial_driver * const serial_drivers[] = { > - &funsoft_device, NULL > -}; > - > -module_usb_serial_driver(serial_drivers, id_table); > - > -MODULE_LICENSE("GPL"); > --- a/drivers/usb/serial/hp4x.c > +++ /dev/null > @@ -1,51 +0,0 @@ > -/* > - * HP4x Calculators Serial USB driver > - * > - * Copyright (C) 2005 Arthur Huillet (ahuillet@xxxxxxxxxxxx) > - * Copyright (C) 2001-2005 Greg Kroah-Hartman (greg@xxxxxxxxx) > - * > - * This program is free software; you can redistribute it and/or modify > - * it under the terms of the GNU General Public License as published by > - * the Free Software Foundation; either version 2 of the License, or > - * (at your option) any later version. > - * > - * See Documentation/usb/usb-serial.txt for more information on using this > - * driver > - */ > - > -#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> > - > -#define DRIVER_DESC "HP4x (48/49) Generic Serial driver" > - > -#define HP_VENDOR_ID 0x03f0 > -#define HP49GP_PRODUCT_ID 0x0121 > - > -static const struct usb_device_id id_table[] = { > - { USB_DEVICE(HP_VENDOR_ID, HP49GP_PRODUCT_ID) }, > - { } /* Terminating entry */ > -}; > - > -MODULE_DEVICE_TABLE(usb, id_table); > - > -static struct usb_serial_driver hp49gp_device = { > - .driver = { > - .owner = THIS_MODULE, > - .name = "hp4X", > - }, > - .id_table = id_table, > - .num_ports = 1, > -}; > - > -static struct usb_serial_driver * const serial_drivers[] = { > - &hp49gp_device, NULL > -}; > - > -module_usb_serial_driver(serial_drivers, id_table); > - > -MODULE_DESCRIPTION(DRIVER_DESC); > -MODULE_LICENSE("GPL"); > --- a/drivers/usb/serial/moto_modem.c > +++ /dev/null > @@ -1,48 +0,0 @@ > -/* > - * Motorola USB Phone driver > - * > - * Copyright (C) 2008 Greg Kroah-Hartman <greg@xxxxxxxxx> > - * > - * 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. > - * > - * {sigh} > - * Motorola should be using the CDC ACM USB spec, but instead > - * they try to just "do their own thing"... This driver should handle a > - * few phones in which a basic "dumb serial connection" is needed to be > - * able to get a connection through to them. > - */ > - > -#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> > - > -static const struct usb_device_id id_table[] = { > - { USB_DEVICE(0x05c6, 0x3197) }, /* unknown Motorola phone */ > - { USB_DEVICE(0x0c44, 0x0022) }, /* unknown Mororola phone */ > - { USB_DEVICE(0x22b8, 0x2a64) }, /* Motorola KRZR K1m */ > - { USB_DEVICE(0x22b8, 0x2c84) }, /* Motorola VE240 phone */ > - { USB_DEVICE(0x22b8, 0x2c64) }, /* Motorola V950 phone */ > - { }, > -}; > -MODULE_DEVICE_TABLE(usb, id_table); > - > -static struct usb_serial_driver moto_device = { > - .driver = { > - .owner = THIS_MODULE, > - .name = "moto-modem", > - }, > - .id_table = id_table, > - .num_ports = 1, > -}; > - > -static struct usb_serial_driver * const serial_drivers[] = { > - &moto_device, NULL > -}; > - > -module_usb_serial_driver(serial_drivers, id_table); > -MODULE_LICENSE("GPL"); > --- a/drivers/usb/serial/siemens_mpi.c > +++ /dev/null > @@ -1,47 +0,0 @@ > -/* > - * Siemens USB-MPI Serial USB driver > - * > - * Copyright (C) 2005 Thomas Hergenhahn <thomas.hergenhahn@xxxxxxx> > - * Copyright (C) 2005,2008 Greg Kroah-Hartman <gregkh@xxxxxxx> > - * > - * 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> > - > -#define DRIVER_AUTHOR "Thomas Hergenhahn@xxxxxx http://libnodave.sf.net" > -#define DRIVER_DESC "Driver for Siemens USB/MPI adapter" > - > - > -static const 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_serial_driver siemens_usb_mpi_device = { > - .driver = { > - .owner = THIS_MODULE, > - .name = "siemens_mpi", > - }, > - .id_table = id_table, > - .num_ports = 1, > -}; > - > -static struct usb_serial_driver * const serial_drivers[] = { > - &siemens_usb_mpi_device, NULL > -}; > - > -module_usb_serial_driver(serial_drivers, id_table); > - > -MODULE_AUTHOR(DRIVER_AUTHOR); > -MODULE_DESCRIPTION(DRIVER_DESC); > -MODULE_LICENSE("GPL"); > --- a/drivers/usb/serial/suunto.c > +++ /dev/null > @@ -1,41 +0,0 @@ > -/* > - * Suunto ANT+ USB Driver > - * > - * Copyright (C) 2013 Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > - * Copyright (C) 2013 Linux Foundation > - * > - * 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 only. > - */ > - > -#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> > -#include <linux/uaccess.h> > - > -static const struct usb_device_id id_table[] = { > - { USB_DEVICE(0x0fcf, 0x1008) }, > - { }, > -}; > -MODULE_DEVICE_TABLE(usb, id_table); > - > -static struct usb_serial_driver suunto_device = { > - .driver = { > - .owner = THIS_MODULE, > - .name = KBUILD_MODNAME, > - }, > - .id_table = id_table, > - .num_ports = 1, > -}; > - > -static struct usb_serial_driver * const serial_drivers[] = { > - &suunto_device, > - NULL, > -}; > - > -module_usb_serial_driver(serial_drivers, id_table); > -MODULE_LICENSE("GPL"); > --- /dev/null > +++ b/drivers/usb/serial/usb-serial-simple.c > @@ -0,0 +1,110 @@ > +/* > + * USB Serial "Simple" driver > + * > + * Copyright (C) 2001-2006,2008,2013 Greg Kroah-Hartman <greg@xxxxxxxxx> > + * Copyright (C) 2005 Arthur Huillet (ahuillet@xxxxxxxxxxxx) > + * Copyright (C) 2005 Thomas Hergenhahn <thomas.hergenhahn@xxxxxxx> > + * Copyright (C) 2009 Outpost Embedded, LLC > + * Copyright (C) 2010 Zilogic Systems <code@xxxxxxxxxxx> > + * Copyright (C) 2013 Wei Shuai <cpuwolf@xxxxxxxxx> > + * Copyright (C) 2013 Linux Foundation > + * > + * 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> > + > +#define DEVICE(vendor, IDS) \ > +static const struct usb_device_id vendor##_id_table[] = { \ > + IDS(), \ > + { }, \ > +}; \ > +static struct usb_serial_driver vendor##_device = { \ > + .driver = { \ > + .owner = THIS_MODULE, \ > + .name = "stringify(vendor)", \ > + }, \ > + .id_table = vendor##_id_table, \ > + .num_ports = 1, \ > +}; > + > + > +/* ZIO Motherboard USB driver */ > +#define ZIO_IDS() \ > + { USB_DEVICE(0x1CBE, 0x0103) } > +DEVICE(zio, ZIO_IDS); > + > +/* Funsoft Serial USB driver */ > +#define FUNSOFT_IDS() \ > + { USB_DEVICE(0x1404, 0xcddc) } > +DEVICE(funsoft, FUNSOFT_IDS); > + > +/* Infineon Flashloader driver */ > +#define FLASHLOADER_IDS() \ > + { USB_DEVICE(0x8087, 0x0716) } > +DEVICE(flashloader, FLASHLOADER_IDS); > + > +/* ViVOpay USB Serial Driver */ > +#define VIVOPAY_IDS() \ > + { USB_DEVICE(0x1d5f, 0x1004) } /* ViVOpay 8800 */ > +DEVICE(vivopay, VIVOPAY_IDS); > + > +/* Motorola USB Phone driver */ > +#define MOTO_IDS() \ > + { USB_DEVICE(0x05c6, 0x3197) }, /* unknown Motorola phone */ \ > + { USB_DEVICE(0x0c44, 0x0022) }, /* unknown Mororola phone */ \ > + { USB_DEVICE(0x22b8, 0x2a64) }, /* Motorola KRZR K1m */ \ > + { USB_DEVICE(0x22b8, 0x2c84) }, /* Motorola VE240 phone */ \ > + { USB_DEVICE(0x22b8, 0x2c64) } /* Motorola V950 phone */ > +DEVICE(moto, MOTO_IDS); > + > +/* HP4x (48/49) Generic Serial driver */ > +#define HP4X_IDS() \ > + { USB_DEVICE(0x03f0, 0x0121) } > +DEVICE(hp4x, HP4X_IDS); > + > +/* Suunto ANT+ USB Driver */ > +#define SUUNTO_IDS() \ > + { USB_DEVICE(0x0fcf, 0x1008) } > +DEVICE(suunto, SUUNTO_IDS); > + > +/* Siemens USB/MPI adapter */ > +#define SIEMENS_IDS() \ > + { USB_DEVICE(0x908, 0x0004) } > +DEVICE(siemens_mpi, SIEMENS_IDS); > + > +/* All of the above structures mushed into two lists */ > +static struct usb_serial_driver * const serial_drivers[] = { > + &zio_device, > + &funsoft_device, > + &flashloader_device, > + &vivopay_device, > + &moto_device, Maybe "&moto_modem_device" to preserve the module name? I don't actually care either way, but using only "moto_device" here means driver.name will now be different for these devices. Dan > + &hp4x_device, > + &suunto_device, > + &siemens_mpi_device, > + NULL > +}; > + > +static const struct usb_device_id id_table[] = { > + ZIO_IDS(), > + FUNSOFT_IDS(), > + FLASHLOADER_IDS(), > + VIVOPAY_IDS(), > + MOTO_IDS(), > + HP4X_IDS(), > + SUUNTO_IDS(), > + SIEMENS_IDS(), > + { }, > +}; > +MODULE_DEVICE_TABLE(usb, id_table); > + > +module_usb_serial_driver(serial_drivers, id_table); > +MODULE_LICENSE("GPL"); > --- a/drivers/usb/serial/vivopay-serial.c > +++ /dev/null > @@ -1,43 +0,0 @@ > -/* > - * Copyright (C) 2001-2005 Greg Kroah-Hartman (greg@xxxxxxxxx) > - * Copyright (C) 2009 Outpost Embedded, LLC > - */ > - > -#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> > - > -#define DRIVER_DESC "ViVOpay USB Serial Driver" > - > -#define VIVOPAY_VENDOR_ID 0x1d5f > - > - > -static struct usb_device_id id_table [] = { > - /* ViVOpay 8800 */ > - { USB_DEVICE(VIVOPAY_VENDOR_ID, 0x1004) }, > - { }, > -}; > - > -MODULE_DEVICE_TABLE(usb, id_table); > - > -static struct usb_serial_driver vivopay_serial_device = { > - .driver = { > - .owner = THIS_MODULE, > - .name = "vivopay-serial", > - }, > - .id_table = id_table, > - .num_ports = 1, > -}; > - > -static struct usb_serial_driver * const serial_drivers[] = { > - &vivopay_serial_device, NULL > -}; > - > -module_usb_serial_driver(serial_drivers, id_table); > - > -MODULE_AUTHOR("Forest Bond <forest.bond@xxxxxxxxxxxxxxxxxxx>"); > -MODULE_DESCRIPTION(DRIVER_DESC); > -MODULE_LICENSE("GPL"); > --- a/drivers/usb/serial/zio.c > +++ /dev/null > @@ -1,39 +0,0 @@ > -/* > - * ZIO Motherboard USB driver > - * > - * Copyright (C) 2010 Zilogic Systems <code@xxxxxxxxxxx> > - * > - * 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> > -#include <linux/uaccess.h> > - > -static const struct usb_device_id id_table[] = { > - { USB_DEVICE(0x1CBE, 0x0103) }, > - { }, > -}; > -MODULE_DEVICE_TABLE(usb, id_table); > - > -static struct usb_serial_driver zio_device = { > - .driver = { > - .owner = THIS_MODULE, > - .name = "zio", > - }, > - .id_table = id_table, > - .num_ports = 1, > -}; > - > -static struct usb_serial_driver * const serial_drivers[] = { > - &zio_device, NULL > -}; > - > -module_usb_serial_driver(serial_drivers, id_table); > -MODULE_LICENSE("GPL"); > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html