On Mon, 2013-08-05 at 19:41 +0800, Greg Kroah-Hartman wrote:
> From: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> 
> 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.buer...@sohard.de>
> Cc: Wei Shuai <cpuw...@gmail.com>
> Cc: Josh Triplett <j...@joshtriplett.org>
> Cc: Frans Klaver <frans.kla...@xsens.com>
> Cc: "Wesley W. Terpstra" <w.terps...@gsi.de>
> Cc: Johan Hovold <jhov...@gmail.com>
> Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> 
> ---
> 
> 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 <cpuw...@gmail.com>
> - *
> - *   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 <gre...@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>
> -#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 (ahuil...@users.sf.net)
> - * Copyright (C) 2001-2005 Greg Kroah-Hartman (g...@kroah.com)
> - *
> - *   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 <g...@kroah.com>
> - *
> - *  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.hergenh...@suse.de>
> - * Copyright (C) 2005,2008 Greg Kroah-Hartman <gre...@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>
> -
> -#define DRIVER_AUTHOR "Thomas hergenh...@web.de 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 <gre...@linuxfoundation.org>
> - * 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 <g...@kroah.com>
> + * Copyright (C) 2005 Arthur Huillet (ahuil...@users.sf.net)
> + * Copyright (C) 2005 Thomas Hergenhahn <thomas.hergenh...@suse.de>
> + * Copyright (C) 2009 Outpost Embedded, LLC
> + * Copyright (C) 2010 Zilogic Systems <c...@zilogic.com>
> + * Copyright (C) 2013 Wei Shuai <cpuw...@gmail.com>
> + * 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 (g...@kroah.com)
> - * 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.b...@outpostembedded.com>");
> -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 <c...@zilogic.com>
> - *
> - *   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 majord...@vger.kernel.org
> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to