diff options
Diffstat (limited to 'sound/usb/6fire/midi.h')
-rw-r--r-- | sound/usb/6fire/midi.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/sound/usb/6fire/midi.h b/sound/usb/6fire/midi.h new file mode 100644 index 000000000000..97a7bf669135 --- /dev/null +++ b/sound/usb/6fire/midi.h | |||
@@ -0,0 +1,46 @@ | |||
1 | /* | ||
2 | * Linux driver for TerraTec DMX 6Fire USB | ||
3 | * | ||
4 | * Author: Torsten Schenk <torsten.schenk@zoho.com> | ||
5 | * Created: Jan 01, 2011 | ||
6 | * Version: 0.3.0 | ||
7 | * Copyright: (C) Torsten Schenk | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License as published by | ||
11 | * the Free Software Foundation; either version 2 of the License, or | ||
12 | * (at your option) any later version. | ||
13 | */ | ||
14 | |||
15 | #ifndef USB6FIRE_MIDI_H | ||
16 | #define USB6FIRE_MIDI_H | ||
17 | |||
18 | #include "common.h" | ||
19 | |||
20 | enum { | ||
21 | MIDI_BUFSIZE = 64 | ||
22 | }; | ||
23 | |||
24 | struct midi_runtime { | ||
25 | struct sfire_chip *chip; | ||
26 | struct snd_rawmidi *instance; | ||
27 | |||
28 | struct snd_rawmidi_substream *in; | ||
29 | char in_active; | ||
30 | |||
31 | spinlock_t in_lock; | ||
32 | spinlock_t out_lock; | ||
33 | struct snd_rawmidi_substream *out; | ||
34 | struct urb out_urb; | ||
35 | u8 out_serial; /* serial number of out packet */ | ||
36 | u8 out_buffer[MIDI_BUFSIZE]; | ||
37 | int buffer_offset; | ||
38 | |||
39 | void (*in_received)(struct midi_runtime *rt, u8 *data, int length); | ||
40 | }; | ||
41 | |||
42 | int __devinit usb6fire_midi_init(struct sfire_chip *chip); | ||
43 | void usb6fire_midi_abort(struct sfire_chip *chip); | ||
44 | void usb6fire_midi_destroy(struct sfire_chip *chip); | ||
45 | #endif /* USB6FIRE_MIDI_H */ | ||
46 | |||