History log of /drivers/staging/line6/toneport.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0ca54888060135806d5567f47a6ad54be5297b34 20-Jan-2012 Markus Grabner <grabner@icg.tugraz.at> staging: line6: separate handling of buffer allocation and stream startup

There are several features of the Line6 USB driver which require PCM
data to be exchanged with the device:
*) PCM playback and capture via ALSA
*) software monitoring (for devices without hardware monitoring)
*) optional impulse response measurement
However, from the device's point of view, there is just a single
capture and playback stream, which must be shared between these
subsystems. It is therefore necessary to maintain the state of the
subsystems with respect to PCM usage. We define several constants of
the form LINE6_BIT_PCM_<subsystem>_<direction>_<resource> with the
following meanings:
*) <subsystem> is one of
-) ALSA: PCM playback and capture via ALSA
-) MONITOR: software monitoring
-) IMPULSE: optional impulse response measurement
*) <direction> is one of
-) PLAYBACK: audio output (from host to device)
-) CAPTURE: audio input (from device to host)
*) <resource> is one of
-) BUFFER: buffer required by PCM data stream
-) STREAM: actual PCM data stream

The subsystems call line6_pcm_acquire() to acquire the (shared)
resources needed for a particular operation (e.g., allocate the buffer
for ALSA playback or start the capture stream for software monitoring).
When a resource is no longer needed, it is released by calling
line6_pcm_release(). Buffer allocation and stream startup are handled
separately to allow the ALSA kernel driver to perform them at
appropriate places (since the callback which starts a PCM stream is not
allowed to sleep).

Signed-off-by: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/line6/toneport.c
12177acdecfcb538b86590036a56fc47b443e135 20-Jan-2012 Markus Grabner <grabner@icg.tugraz.at> staging: line6: use source select control for UX2 devices

Signed-off-by: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
/drivers/staging/line6/toneport.c
188e664502dc47f83775a556e6db52cd8cc0b5fc 10-Dec-2011 Stefan Hajnoczi <stefanha@gmail.com> staging: line6: eliminate useless NULL checks

The line6 driver checks struct field addresses for NULL where it does
not make sense to do so. The struct has already been checked for NULL
and there is no value in checking the first field's address too.

Suggested-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
a3a972a053010bfd61c13cfa4ce688d4eebd9a19 18-Nov-2010 Greg Kroah-Hartman <gregkh@suse.de> Staging: line6: fix up my fixup for some sysfs attribute permissions

They should be writable by root, not readable.
Doh, stupid me with the wrong flags.

Reported-by: Jonathan Cameron <jic23@cam.ac.uk>
Cc: Markus Grabner <grabner@icg.tugraz.at>
Cc: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
2018845b6a169f75341f8e68ad1089cb6697cf24 16-Nov-2010 Greg Kroah-Hartman <gregkh@suse.de> Staging: line6: fix up some sysfs attribute permissions

They should not be writable by any user

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Markus Grabner <grabner@icg.tugraz.at>
Cc: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
027360c5644b59d99db30e3515a8ec72350207b9 22-Sep-2010 Greg Kroah-Hartman <gregkh@suse.de> Staging: line6: minor coding style cleanups

This fixes up all of the remaining coding style issues that
make any sense to make in the line6 driver.

Cc: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
e1a164d7a3e05aae15eb603ee8f1b77446480a3b 23-Aug-2010 Markus Grabner <grabner@icg.tugraz.at> Staging: line6: another upstream sync

Everything should be in sync now.

Signed-off-by: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
1027f476f507ef7ed9919cd3e3d32310f3985da1 12-Aug-2010 Markus Grabner <grabner@icg.tugraz.at> staging: line6: sync with upstream

Big upstream sync.

Signed-off-by: Markus Grabner <grabner@icg.tugraz.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
bb950a169d98ac9a2b8a899f95ed5d784c14f3cc 16-Nov-2009 Shawn Bohrer <shawn.bohrer@gmail.com> staging: line6: Convert simple_strtol to strict_strtol in toneport.c

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
63a4a8bad9715421e9efdfba6455c7a25d1be6e7 16-Nov-2009 Shawn Bohrer <shawn.bohrer@gmail.com> staging: line6: Lindent and fix some checkpatch warnings in toneport.c

Signed-off-by: Shawn Bohrer <shawn.bohrer@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
6353773b5230514d4f1d3dc98a84a72e3a954e87 28-Feb-2009 Greg Kroah-Hartman <gregkh@suse.de> Staging: line6: fix checkpatch errors in toneport.c

Lots of warnings also fixed up.

Cc: Markus Grabner <grabner@icg.tugraz.at>
Cc: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
536165d8ef6933131bf7166338eafa77b75f8bb7 28-Feb-2009 Greg Kroah-Hartman <gregkh@suse.de> Staging: line6: fix up NULL assignment mistakes

Should use NULL for a pointer, not 0, otherwise sparse complains.

Cc: Markus Grabner <grabner@icg.tugraz.at>
Cc: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
77491e524ccb78adfad9cdc1b0b175c4e9fd0368 28-Feb-2009 Greg Kroah-Hartman <gregkh@suse.de> Staging: line6: remove DEVICE_ATTRIBUTE

As the code is in the kernel tree, it's no longer needed.

Cc: Markus Grabner <grabner@icg.tugraz.at>
Cc: Mariusz Kozlowski <m.kozlowski@tuxland.pl>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
/drivers/staging/line6/toneport.c
705ececd1c60d0f5d6ef2a719008847883516970 28-Feb-2009 Markus Grabner <grabner@icg.tugraz.at> 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>
/drivers/staging/line6/toneport.c