Re: [PATCH] USB: serial: add driver for Suunto ANT+ USB device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jul 26, 2013 at 10:27:51AM -0400, Alan Stern wrote:
> On Thu, 25 Jul 2013, Greg Kroah-Hartman wrote:
> 
> > From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > 
> > This adds a driver for the Suunto ANT+ USB device, exposing it as a usb
> > serial device.  This lets the userspace "gant" program to talk to the
> > device to communicate over the ANT+ protocol to any devices it finds.
> > 
> > Reported-by: Steinar Gunderson <sgunderson@xxxxxxxxxxx>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> > 
> > ---
> >  drivers/usb/serial/Kconfig  |    7 +++++++
> >  drivers/usb/serial/Makefile |    1 +
> >  drivers/usb/serial/suunto.c |   41 +++++++++++++++++++++++++++++++++++++++++
> >  3 files changed, 49 insertions(+)
> > 
> > --- a/drivers/usb/serial/Kconfig
> > +++ b/drivers/usb/serial/Kconfig
> > @@ -719,6 +719,13 @@ config USB_SERIAL_FLASHLOADER
> >  	  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 usb 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"
> > --- a/drivers/usb/serial/Makefile
> > +++ b/drivers/usb/serial/Makefile
> > @@ -54,6 +54,7 @@ obj-$(CONFIG_USB_SERIAL_SIEMENS_MPI)		+=
> >  obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS)		+= sierra.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
> > --- /dev/null
> > +++ b/drivers/usb/serial/suunto.c
> > @@ -0,0 +1,41 @@
> > +/*
> > + * 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");
> 
> Would it be a good idea to combine all the little do-nothing modules 
> like this into one single source file?  Then adding a new device 
> would require only two things:
> 
> 	Change the help message for the Kconfig entry;
> 
> 	Add a line to the id_table.

Yes, I agree.  For some reason I thought I tried doing this a year or so
ago, and things fell apart, but I can't remember why.  I'll go merge
them all together later today and see what happens...

thanks,

greg k-h
--
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




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux