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

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

 



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.

Alan Stern

--
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