Flashloader looks good. I totally agree put all these kind of simple drivers into one 2013/8/5 Dan Williams <dcbw@xxxxxxxxxx>: > 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