Flashloader looks good. I totally agree put all these kind of simple
drivers into one

2013/8/5 Dan Williams <d...@redhat.com>:
> 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