Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8825734 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

USB: serial: add driver for Suunto ANT+ USB device



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: default avatarSteinar Gunderson <sgunderson@bigfoot.com>
Tested-by: default avatarSteinar Gunderson <sgunderson@bigfoot.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 2c7b871b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -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 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"
+1 −0
Original line number Diff line number Diff line
@@ -54,6 +54,7 @@ obj-$(CONFIG_USB_SERIAL_SIEMENS_MPI) += siemens_mpi.o
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
+41 −0
Original line number Diff line number Diff line
/*
 * Suunto ANT+ USB Driver
 *
 * Copyright (C) 2013 Greg Kroah-Hartman <gregkh@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");