diff options
author | Torsten Schenk <torsten.schenk@zoho.com> | 2011-01-24 12:45:30 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-01-24 12:45:30 -0500 |
commit | c6d43ba816d1cf1d125bfbfc938f2a28a87facf9 (patch) | |
tree | 6f9c73ddae1efbda97869cc07dac62dc52b75e8f /sound/usb/6fire/comm.h | |
parent | 49c6ad430d74fb7995990be0f66165e4b94a6bc5 (diff) |
ALSA: usb/6fire - Driver for TerraTec DMX 6Fire USB
What is working: Everything except SPDIF
- Hardware Master volume
- PCM 44-192kHz@24 bits, 6 channels out, 4 channels in (analog)
- MIDI in/out
- firmware loading after cold start
- phono/line switching
Signed-off-by: Torsten Schenk <torsten.schenk@zoho.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/6fire/comm.h')
-rw-r--r-- | sound/usb/6fire/comm.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/sound/usb/6fire/comm.h b/sound/usb/6fire/comm.h new file mode 100644 index 000000000000..edc5dc84b888 --- /dev/null +++ b/sound/usb/6fire/comm.h | |||
@@ -0,0 +1,44 @@ | |||
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 | #ifndef USB6FIRE_COMM_H | ||
15 | #define USB6FIRE_COMM_H | ||
16 | |||
17 | #include "common.h" | ||
18 | |||
19 | enum /* settings for comm */ | ||
20 | { | ||
21 | COMM_RECEIVER_BUFSIZE = 64, | ||
22 | }; | ||
23 | |||
24 | struct comm_runtime { | ||
25 | struct sfire_chip *chip; | ||
26 | |||
27 | struct urb receiver; | ||
28 | u8 receiver_buffer[COMM_RECEIVER_BUFSIZE]; | ||
29 | |||
30 | u8 serial; /* urb serial */ | ||
31 | |||
32 | void (*init_urb)(struct comm_runtime *rt, struct urb *urb, u8 *buffer, | ||
33 | void *context, void(*handler)(struct urb *urb)); | ||
34 | /* writes control data to the device */ | ||
35 | int (*write8)(struct comm_runtime *rt, u8 request, u8 reg, u8 value); | ||
36 | int (*write16)(struct comm_runtime *rt, u8 request, u8 reg, | ||
37 | u8 vh, u8 vl); | ||
38 | }; | ||
39 | |||
40 | int __devinit usb6fire_comm_init(struct sfire_chip *chip); | ||
41 | void usb6fire_comm_abort(struct sfire_chip *chip); | ||
42 | void usb6fire_comm_destroy(struct sfire_chip *chip); | ||
43 | #endif /* USB6FIRE_COMM_H */ | ||
44 | |||