diff options
author | Markus Grabner <grabner@icg.tugraz.at> | 2009-02-27 19:43:04 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-04-03 14:54:24 -0700 |
commit | 705ececd1c60d0f5d6ef2a719008847883516970 (patch) | |
tree | e2a96ac85e15850919e493181fe47f7fdd471af1 /drivers/staging/line6/config.h | |
parent | e642f09951f7cbb69983781b07bb9cd881546ac4 (diff) | |
download | op-kernel-dev-705ececd1c60d0f5d6ef2a719008847883516970.zip op-kernel-dev-705ececd1c60d0f5d6ef2a719008847883516970.tar.gz |
Staging: add line6 usb driver
This is an experimental Linux driver for the guitar amp, cab, and
effects modeller PODxt Pro by Line6 (and similar devices), supporting
the following features:
- Reading/writing individual parameters
- Reading/writing complete channel, effects setup, and amp setup data
- Channel switching
- Virtual MIDI interface
- Tuner access
- Playback/capture/mixer device for any ALSA-compatible PCM audio
application
- Signal routing (record clean/processed guitar signal, re-amping)
Moreover, preliminary support for the Variax Workbench is included.
From: Markus Grabner <grabner@icg.tugraz.at>
Cc: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/line6/config.h')
-rw-r--r-- | drivers/staging/line6/config.h | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/drivers/staging/line6/config.h b/drivers/staging/line6/config.h new file mode 100644 index 0000000..d5ed1a7 --- /dev/null +++ b/drivers/staging/line6/config.h @@ -0,0 +1,73 @@ +/* + * Line6 Linux USB driver - 0.8.0 + * + * Copyright (C) 2004-2009 Markus Grabner (grabner@icg.tugraz.at) + * + * 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, version 2. + * + */ + +#ifndef CONFIG_H +#define CONFIG_H + + +#include <linux/version.h> + +#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19) +#include <linux/config.h> +#endif + +#ifdef CONFIG_USB_DEBUG +#define DEBUG 1 +#endif + + +/** + Development tools. +*/ +#define DO_DEBUG_MESSAGES 0 +#define DO_DUMP_URB_SEND DO_DEBUG_MESSAGES +#define DO_DUMP_URB_RECEIVE DO_DEBUG_MESSAGES +#define DO_DUMP_PCM_SEND 0 +#define DO_DUMP_PCM_RECEIVE 0 +#define DO_DUMP_MIDI_SEND DO_DEBUG_MESSAGES +#define DO_DUMP_MIDI_RECEIVE DO_DEBUG_MESSAGES +#define DO_DUMP_ANY (DO_DUMP_URB_SEND || DO_DUMP_URB_RECEIVE || \ + DO_DUMP_PCM_SEND || DO_DUMP_PCM_RECEIVE || \ + DO_DUMP_MIDI_SEND || DO_DUMP_MIDI_RECEIVE) +#define CREATE_RAW_FILE 0 + +#if DO_DEBUG_MESSAGES +#define CHECKPOINT printk("line6usb: %s (%s:%d)\n", __FUNCTION__, __FILE__, __LINE__) +#endif + +/** + In Linux 2.6.13 and later, the device_attribute is passed to the sysfs + get/set functions (see /usr/src/linux/include/linux/device.h). +*/ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) +#define DEVICE_ATTRIBUTE struct device_attribute *attr, +#else +#define DEVICE_ATTRIBUTE +#endif + +/** + In Linux 2.6.20 and later, the pt_regs is no longer passed to USB callback + functions. +*/ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20) +#define PT_REGS +#else +#define PT_REGS , struct pt_regs *regs +#endif + +#if DO_DEBUG_MESSAGES +#define DEBUG_MESSAGES(x) (x) +#else +#define DEBUG_MESSAGES(x) +#endif + + +#endif |