On Thu, 25 Jul 2013, Greg Kroah-Hartman wrote:
> From: Greg Kroah-Hartman <[email protected]>
>
> 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 <[email protected]>
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
>
> ---
> 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 <[email protected]>
> + * 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html