summaryrefslogtreecommitdiff
path: root/include/sound/sb16_csp.h
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2006-11-06 09:18:34 +0100
committerJaroslav Kysela <perex@suse.cz>2007-02-09 09:01:14 +0100
commitde66d53e46f39de6ea3261609fdb92900bb34a42 (patch)
tree5d1530a9e52e51784ca0fd59619ffc4aa41020fc /include/sound/sb16_csp.h
parent219e281f4627a395aaceff0e4a257cd18608e145 (diff)
downloadlwn-de66d53e46f39de6ea3261609fdb92900bb34a42.tar.gz
lwn-de66d53e46f39de6ea3261609fdb92900bb34a42.zip
[ALSA] sb16: add request_firmware()
Load the CSP programs using request_firmware(), if possible, instead of using the built-in firmware blobs. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
Diffstat (limited to 'include/sound/sb16_csp.h')
-rw-r--r--include/sound/sb16_csp.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/sound/sb16_csp.h b/include/sound/sb16_csp.h
index caf6fe21514d..736eac71d053 100644
--- a/include/sound/sb16_csp.h
+++ b/include/sound/sb16_csp.h
@@ -114,9 +114,21 @@ struct snd_sb_csp_info {
#ifdef __KERNEL__
#include "sb.h"
#include "hwdep.h"
+#include <linux/firmware.h>
struct snd_sb_csp;
+/* indices for the known CSP programs */
+enum {
+ CSP_PROGRAM_MULAW,
+ CSP_PROGRAM_ALAW,
+ CSP_PROGRAM_ADPCM_INIT,
+ CSP_PROGRAM_ADPCM_PLAYBACK,
+ CSP_PROGRAM_ADPCM_CAPTURE,
+
+ CSP_PROGRAM_COUNT
+};
+
/*
* CSP operators
*/
@@ -159,6 +171,8 @@ struct snd_sb_csp {
struct snd_kcontrol *qsound_space;
struct mutex access_mutex; /* locking */
+
+ const struct firmware *csp_programs[CSP_PROGRAM_COUNT];
};
int snd_sb_csp_new(struct snd_sb *chip, int device, struct snd_hwdep ** rhwdep);