diff options
author | Markus Grabner <grabner@icg.tugraz.at> | 2010-08-11 23:35:30 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-08-31 22:28:15 (GMT) |
commit | 1027f476f507ef7ed9919cd3e3d32310f3985da1 (patch) | |
tree | 5f0da58a5bc15338c71e848693a5ae259b97a207 /drivers/staging/line6/midibuf.c | |
parent | 4498dbcd2d85b67e9f46790bcfee5860d2dd1762 (diff) | |
download | linux-fsl-qoriq-1027f476f507ef7ed9919cd3e3d32310f3985da1.tar.xz |
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>
Diffstat (limited to 'drivers/staging/line6/midibuf.c')
-rw-r--r-- | drivers/staging/line6/midibuf.c | 60 |
1 files changed, 29 insertions, 31 deletions
diff --git a/drivers/staging/line6/midibuf.c b/drivers/staging/line6/midibuf.c index ab0a5f3..de8eef7 100644 --- a/drivers/staging/line6/midibuf.c +++ b/drivers/staging/line6/midibuf.c @@ -1,7 +1,7 @@ /* - * Line6 Linux USB driver - 0.8.0 + * Line6 Linux USB driver - 0.9.0 * - * Copyright (C) 2004-2009 Markus Grabner (grabner@icg.tugraz.at) + * Copyright (C) 2004-2010 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 @@ -9,8 +9,6 @@ * */ -#include "config.h" - #include <linux/slab.h> #include "midibuf.h" @@ -25,9 +23,9 @@ static int midibuf_message_length(unsigned char code) return length[(code >> 4) - 8]; } else { /* - Note that according to the MIDI specification 0xf2 is - the "Song Position Pointer", but this is used by Line6 - to send sysex messages to the host. + Note that according to the MIDI specification 0xf2 is + the "Song Position Pointer", but this is used by Line6 + to send sysex messages to the host. */ static const int length[] = { -1, 2, -1, 2, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1, 1, 1 }; @@ -35,13 +33,23 @@ static int midibuf_message_length(unsigned char code) } } -void midibuf_reset(struct MidiBuffer *this) +static int midibuf_is_empty(struct MidiBuffer *this) +{ + return (this->pos_read == this->pos_write) && !this->full; +} + +static int midibuf_is_full(struct MidiBuffer *this) +{ + return this->full; +} + +void line6_midibuf_reset(struct MidiBuffer *this) { this->pos_read = this->pos_write = this->full = 0; this->command_prev = -1; } -int midibuf_init(struct MidiBuffer *this, int size, int split) +int line6_midibuf_init(struct MidiBuffer *this, int size, int split) { this->buf = kmalloc(size, GFP_KERNEL); @@ -50,28 +58,18 @@ int midibuf_init(struct MidiBuffer *this, int size, int split) this->size = size; this->split = split; - midibuf_reset(this); + line6_midibuf_reset(this); return 0; } -void midibuf_status(struct MidiBuffer *this) +void line6_midibuf_status(struct MidiBuffer *this) { printk(KERN_DEBUG "midibuf size=%d split=%d pos_read=%d pos_write=%d " "full=%d command_prev=%02x\n", this->size, this->split, this->pos_read, this->pos_write, this->full, this->command_prev); } -static int midibuf_is_empty(struct MidiBuffer *this) -{ - return (this->pos_read == this->pos_write) && !this->full; -} - -static int midibuf_is_full(struct MidiBuffer *this) -{ - return this->full; -} - -int midibuf_bytes_free(struct MidiBuffer *this) +int line6_midibuf_bytes_free(struct MidiBuffer *this) { return midibuf_is_full(this) ? @@ -79,7 +77,7 @@ int midibuf_bytes_free(struct MidiBuffer *this) (this->pos_read - this->pos_write + this->size - 1) % this->size + 1; } -int midibuf_bytes_used(struct MidiBuffer *this) +int line6_midibuf_bytes_used(struct MidiBuffer *this) { return midibuf_is_empty(this) ? @@ -87,7 +85,7 @@ int midibuf_bytes_used(struct MidiBuffer *this) (this->pos_write - this->pos_read + this->size - 1) % this->size + 1; } -int midibuf_write(struct MidiBuffer *this, unsigned char *data, int length) +int line6_midibuf_write(struct MidiBuffer *this, unsigned char *data, int length) { int bytes_free; int length1, length2; @@ -102,7 +100,7 @@ int midibuf_write(struct MidiBuffer *this, unsigned char *data, int length) skip_active_sense = 1; } - bytes_free = midibuf_bytes_free(this); + bytes_free = line6_midibuf_bytes_free(this); if (length > bytes_free) length = bytes_free; @@ -129,7 +127,7 @@ int midibuf_write(struct MidiBuffer *this, unsigned char *data, int length) return length + skip_active_sense; } -int midibuf_read(struct MidiBuffer *this, unsigned char *data, int length) +int line6_midibuf_read(struct MidiBuffer *this, unsigned char *data, int length) { int bytes_used; int length1, length2; @@ -145,7 +143,7 @@ int midibuf_read(struct MidiBuffer *this, unsigned char *data, int length) if (midibuf_is_empty(this)) return 0; - bytes_used = midibuf_bytes_used(this); + bytes_used = line6_midibuf_bytes_used(this); if (length > bytes_used) length = bytes_used; @@ -232,9 +230,9 @@ int midibuf_read(struct MidiBuffer *this, unsigned char *data, int length) return length + repeat; } -int midibuf_ignore(struct MidiBuffer *this, int length) +int line6_midibuf_ignore(struct MidiBuffer *this, int length) { - int bytes_used = midibuf_bytes_used(this); + int bytes_used = line6_midibuf_bytes_used(this); if (length > bytes_used) length = bytes_used; @@ -244,7 +242,7 @@ int midibuf_ignore(struct MidiBuffer *this, int length) return length; } -int midibuf_skip_message(struct MidiBuffer *this, unsigned short mask) +int line6_midibuf_skip_message(struct MidiBuffer *this, unsigned short mask) { int cmd = this->command_prev; @@ -255,7 +253,7 @@ int midibuf_skip_message(struct MidiBuffer *this, unsigned short mask) return 0; } -void midibuf_destroy(struct MidiBuffer *this) +void line6_midibuf_destroy(struct MidiBuffer *this) { kfree(this->buf); this->buf = NULL; |