aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/ac97_codec.h15
-rw-r--r--include/sound/ad1848.h2
-rw-r--r--include/sound/ak4531_codec.h2
-rw-r--r--include/sound/core.h8
-rw-r--r--include/sound/cs4231.h4
-rw-r--r--include/sound/cs46xx.h2
-rw-r--r--include/sound/emu10k1.h4
-rw-r--r--include/sound/emux_synth.h2
-rw-r--r--include/sound/gus.h6
-rw-r--r--include/sound/hwdep.h2
-rw-r--r--include/sound/i2c.h10
-rw-r--r--include/sound/info.h2
-rw-r--r--include/sound/mixer_oss.h2
-rw-r--r--include/sound/opl3.h3
-rw-r--r--include/sound/pcm.h2
-rw-r--r--include/sound/pcm_oss.h4
-rw-r--r--include/sound/rawmidi.h4
-rw-r--r--include/sound/sb16_csp.h2
-rw-r--r--include/sound/seq_instr.h2
-rw-r--r--include/sound/soundfont.h2
-rw-r--r--include/sound/util_mem.h4
-rw-r--r--include/sound/version.h4
-rw-r--r--include/sound/vx_core.h2
-rw-r--r--include/sound/ymfpci.h10
24 files changed, 56 insertions, 44 deletions
diff --git a/include/sound/ac97_codec.h b/include/sound/ac97_codec.h
index b0b3ea7b365e..b45a73712748 100644
--- a/include/sound/ac97_codec.h
+++ b/include/sound/ac97_codec.h
@@ -433,6 +433,12 @@ struct snd_ac97_bus {
433 struct snd_info_entry *proc; 433 struct snd_info_entry *proc;
434}; 434};
435 435
436/* static resolution table */
437struct snd_ac97_res_table {
438 unsigned short reg; /* register */
439 unsigned short bits; /* resolution bitmask */
440};
441
436struct snd_ac97_template { 442struct snd_ac97_template {
437 void *private_data; 443 void *private_data;
438 void (*private_free) (struct snd_ac97 *ac97); 444 void (*private_free) (struct snd_ac97 *ac97);
@@ -440,8 +446,7 @@ struct snd_ac97_template {
440 unsigned short num; /* number of codec: 0 = primary, 1 = secondary */ 446 unsigned short num; /* number of codec: 0 = primary, 1 = secondary */
441 unsigned short addr; /* physical address of codec [0-3] */ 447 unsigned short addr; /* physical address of codec [0-3] */
442 unsigned int scaps; /* driver capabilities */ 448 unsigned int scaps; /* driver capabilities */
443 unsigned int limited_regs; /* allow limited registers only */ 449 const struct snd_ac97_res_table *res_table; /* static resolution */
444 DECLARE_BITMAP(reg_accessed, 0x80); /* bit flags */
445}; 450};
446 451
447struct snd_ac97 { 452struct snd_ac97 {
@@ -456,20 +461,20 @@ struct snd_ac97 {
456 struct snd_info_entry *proc_regs; 461 struct snd_info_entry *proc_regs;
457 unsigned short subsystem_vendor; 462 unsigned short subsystem_vendor;
458 unsigned short subsystem_device; 463 unsigned short subsystem_device;
459 struct semaphore reg_mutex; 464 struct mutex reg_mutex;
460 struct semaphore page_mutex; /* mutex for AD18xx multi-codecs and paging (2.3) */ 465 struct mutex page_mutex; /* mutex for AD18xx multi-codecs and paging (2.3) */
461 unsigned short num; /* number of codec: 0 = primary, 1 = secondary */ 466 unsigned short num; /* number of codec: 0 = primary, 1 = secondary */
462 unsigned short addr; /* physical address of codec [0-3] */ 467 unsigned short addr; /* physical address of codec [0-3] */
463 unsigned int id; /* identification of codec */ 468 unsigned int id; /* identification of codec */
464 unsigned short caps; /* capabilities (register 0) */ 469 unsigned short caps; /* capabilities (register 0) */
465 unsigned short ext_id; /* extended feature identification (register 28) */ 470 unsigned short ext_id; /* extended feature identification (register 28) */
466 unsigned short ext_mid; /* extended modem ID (register 3C) */ 471 unsigned short ext_mid; /* extended modem ID (register 3C) */
472 const struct snd_ac97_res_table *res_table; /* static resolution */
467 unsigned int scaps; /* driver capabilities */ 473 unsigned int scaps; /* driver capabilities */
468 unsigned int flags; /* specific code */ 474 unsigned int flags; /* specific code */
469 unsigned int rates[6]; /* see AC97_RATES_* defines */ 475 unsigned int rates[6]; /* see AC97_RATES_* defines */
470 unsigned int spdif_status; 476 unsigned int spdif_status;
471 unsigned short regs[0x80]; /* register cache */ 477 unsigned short regs[0x80]; /* register cache */
472 unsigned int limited_regs; /* allow limited registers only */
473 DECLARE_BITMAP(reg_accessed, 0x80); /* bit flags */ 478 DECLARE_BITMAP(reg_accessed, 0x80); /* bit flags */
474 union { /* vendor specific code */ 479 union { /* vendor specific code */
475 struct { 480 struct {
diff --git a/include/sound/ad1848.h b/include/sound/ad1848.h
index 1a2759f3a292..57af1fe7b309 100644
--- a/include/sound/ad1848.h
+++ b/include/sound/ad1848.h
@@ -154,7 +154,7 @@ struct snd_ad1848 {
154#endif 154#endif
155 155
156 spinlock_t reg_lock; 156 spinlock_t reg_lock;
157 struct semaphore open_mutex; 157 struct mutex open_mutex;
158}; 158};
159 159
160/* exported functions */ 160/* exported functions */
diff --git a/include/sound/ak4531_codec.h b/include/sound/ak4531_codec.h
index edf04070ce7c..fb30faab43a8 100644
--- a/include/sound/ak4531_codec.h
+++ b/include/sound/ak4531_codec.h
@@ -71,7 +71,7 @@ struct snd_ak4531 {
71 void (*private_free) (struct snd_ak4531 *ak4531); 71 void (*private_free) (struct snd_ak4531 *ak4531);
72 /* --- */ 72 /* --- */
73 unsigned char regs[0x20]; 73 unsigned char regs[0x20];
74 struct semaphore reg_mutex; 74 struct mutex reg_mutex;
75}; 75};
76 76
77int snd_ak4531_mixer(struct snd_card *card, struct snd_ak4531 *_ak4531, 77int snd_ak4531_mixer(struct snd_card *card, struct snd_ak4531 *_ak4531,
diff --git a/include/sound/core.h b/include/sound/core.h
index 3093e3ddcf36..144bdc2f217f 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -23,7 +23,7 @@
23 */ 23 */
24 24
25#include <linux/sched.h> /* wake_up() */ 25#include <linux/sched.h> /* wake_up() */
26#include <asm/semaphore.h> /* struct semaphore */ 26#include <linux/mutex.h> /* struct mutex */
27#include <linux/rwsem.h> /* struct rw_semaphore */ 27#include <linux/rwsem.h> /* struct rw_semaphore */
28#include <linux/workqueue.h> /* struct workqueue_struct */ 28#include <linux/workqueue.h> /* struct workqueue_struct */
29#include <linux/pm.h> /* pm_message_t */ 29#include <linux/pm.h> /* pm_message_t */
@@ -137,7 +137,7 @@ struct snd_card {
137 137
138#ifdef CONFIG_PM 138#ifdef CONFIG_PM
139 unsigned int power_state; /* power state */ 139 unsigned int power_state; /* power state */
140 struct semaphore power_lock; /* power lock */ 140 struct mutex power_lock; /* power lock */
141 wait_queue_head_t power_sleep; 141 wait_queue_head_t power_sleep;
142#endif 142#endif
143 143
@@ -150,12 +150,12 @@ struct snd_card {
150#ifdef CONFIG_PM 150#ifdef CONFIG_PM
151static inline void snd_power_lock(struct snd_card *card) 151static inline void snd_power_lock(struct snd_card *card)
152{ 152{
153 down(&card->power_lock); 153 mutex_lock(&card->power_lock);
154} 154}
155 155
156static inline void snd_power_unlock(struct snd_card *card) 156static inline void snd_power_unlock(struct snd_card *card)
157{ 157{
158 up(&card->power_lock); 158 mutex_unlock(&card->power_lock);
159} 159}
160 160
161static inline unsigned int snd_power_get_state(struct snd_card *card) 161static inline unsigned int snd_power_get_state(struct snd_card *card)
diff --git a/include/sound/cs4231.h b/include/sound/cs4231.h
index ac6a5d882088..60b5b92a1319 100644
--- a/include/sound/cs4231.h
+++ b/include/sound/cs4231.h
@@ -248,8 +248,8 @@ struct snd_cs4231 {
248 unsigned int c_dma_size; 248 unsigned int c_dma_size;
249 249
250 spinlock_t reg_lock; 250 spinlock_t reg_lock;
251 struct semaphore mce_mutex; 251 struct mutex mce_mutex;
252 struct semaphore open_mutex; 252 struct mutex open_mutex;
253 253
254 int (*rate_constraint) (struct snd_pcm_runtime *runtime); 254 int (*rate_constraint) (struct snd_pcm_runtime *runtime);
255 void (*set_playback_format) (struct snd_cs4231 *chip, struct snd_pcm_hw_params *hw_params, unsigned char pdfr); 255 void (*set_playback_format) (struct snd_cs4231 *chip, struct snd_pcm_hw_params *hw_params, unsigned char pdfr);
diff --git a/include/sound/cs46xx.h b/include/sound/cs46xx.h
index 199b5098ff7e..80b2979c0cba 100644
--- a/include/sound/cs46xx.h
+++ b/include/sound/cs46xx.h
@@ -1711,7 +1711,7 @@ struct snd_cs46xx {
1711 int current_gpio; 1711 int current_gpio;
1712#endif 1712#endif
1713#ifdef CONFIG_SND_CS46XX_NEW_DSP 1713#ifdef CONFIG_SND_CS46XX_NEW_DSP
1714 struct semaphore spos_mutex; 1714 struct mutex spos_mutex;
1715 1715
1716 struct dsp_spos_instance * dsp_spos_instance; 1716 struct dsp_spos_instance * dsp_spos_instance;
1717 1717
diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h
index 951e40d720d9..186e00ad9e79 100644
--- a/include/sound/emu10k1.h
+++ b/include/sound/emu10k1.h
@@ -33,6 +33,7 @@
33#include <sound/pcm-indirect.h> 33#include <sound/pcm-indirect.h>
34#include <sound/timer.h> 34#include <sound/timer.h>
35#include <linux/interrupt.h> 35#include <linux/interrupt.h>
36#include <linux/mutex.h>
36#include <asm/io.h> 37#include <asm/io.h>
37 38
38/* ------------------- DEFINES -------------------- */ 39/* ------------------- DEFINES -------------------- */
@@ -1022,7 +1023,7 @@ struct snd_emu10k1_fx8010 {
1022 int gpr_size; /* size of allocated GPR controls */ 1023 int gpr_size; /* size of allocated GPR controls */
1023 int gpr_count; /* count of used kcontrols */ 1024 int gpr_count; /* count of used kcontrols */
1024 struct list_head gpr_ctl; /* GPR controls */ 1025 struct list_head gpr_ctl; /* GPR controls */
1025 struct semaphore lock; 1026 struct mutex lock;
1026 struct snd_emu10k1_fx8010_pcm pcm[8]; 1027 struct snd_emu10k1_fx8010_pcm pcm[8];
1027 spinlock_t irq_lock; 1028 spinlock_t irq_lock;
1028 struct snd_emu10k1_fx8010_irq *irq_handlers; 1029 struct snd_emu10k1_fx8010_irq *irq_handlers;
@@ -1122,7 +1123,6 @@ struct snd_emu10k1 {
1122 spinlock_t reg_lock; 1123 spinlock_t reg_lock;
1123 spinlock_t emu_lock; 1124 spinlock_t emu_lock;
1124 spinlock_t voice_lock; 1125 spinlock_t voice_lock;
1125 struct semaphore ptb_lock;
1126 1126
1127 struct snd_emu10k1_voice voices[NUM_G]; 1127 struct snd_emu10k1_voice voices[NUM_G];
1128 struct snd_emu10k1_voice p16v_voices[4]; 1128 struct snd_emu10k1_voice p16v_voices[4];
diff --git a/include/sound/emux_synth.h b/include/sound/emux_synth.h
index b2d6b2acc7c7..d8cb51b86c20 100644
--- a/include/sound/emux_synth.h
+++ b/include/sound/emux_synth.h
@@ -113,7 +113,7 @@ struct snd_emux {
113 struct snd_emux_voice *voices; /* Voices (EMU 'channel') */ 113 struct snd_emux_voice *voices; /* Voices (EMU 'channel') */
114 int use_time; /* allocation counter */ 114 int use_time; /* allocation counter */
115 spinlock_t voice_lock; /* Lock for voice access */ 115 spinlock_t voice_lock; /* Lock for voice access */
116 struct semaphore register_mutex; 116 struct mutex register_mutex;
117 int client; /* For the sequencer client */ 117 int client; /* For the sequencer client */
118 int ports[SNDRV_EMUX_MAX_PORTS]; /* The ports for this device */ 118 int ports[SNDRV_EMUX_MAX_PORTS]; /* The ports for this device */
119 struct snd_emux_port *portptrs[SNDRV_EMUX_MAX_PORTS]; 119 struct snd_emux_port *portptrs[SNDRV_EMUX_MAX_PORTS];
diff --git a/include/sound/gus.h b/include/sound/gus.h
index 63da50fae773..68a664ab97f3 100644
--- a/include/sound/gus.h
+++ b/include/sound/gus.h
@@ -209,7 +209,7 @@ struct snd_gf1_mem {
209 struct snd_gf1_bank_info banks_16[4]; 209 struct snd_gf1_bank_info banks_16[4];
210 struct snd_gf1_mem_block *first; 210 struct snd_gf1_mem_block *first;
211 struct snd_gf1_mem_block *last; 211 struct snd_gf1_mem_block *last;
212 struct semaphore memory_mutex; 212 struct mutex memory_mutex;
213}; 213};
214 214
215struct snd_gf1_dma_block { 215struct snd_gf1_dma_block {
@@ -467,8 +467,8 @@ struct snd_gus_card {
467 spinlock_t dma_lock; 467 spinlock_t dma_lock;
468 spinlock_t pcm_volume_level_lock; 468 spinlock_t pcm_volume_level_lock;
469 spinlock_t uart_cmd_lock; 469 spinlock_t uart_cmd_lock;
470 struct semaphore dma_mutex; 470 struct mutex dma_mutex;
471 struct semaphore register_mutex; 471 struct mutex register_mutex;
472}; 472};
473 473
474/* I/O functions for GF1/InterWave chip - gus_io.c */ 474/* I/O functions for GF1/InterWave chip - gus_io.c */
diff --git a/include/sound/hwdep.h b/include/sound/hwdep.h
index c679e5b31111..94c387b5d724 100644
--- a/include/sound/hwdep.h
+++ b/include/sound/hwdep.h
@@ -60,7 +60,7 @@ struct snd_hwdep {
60 void *private_data; 60 void *private_data;
61 void (*private_free) (struct snd_hwdep *hwdep); 61 void (*private_free) (struct snd_hwdep *hwdep);
62 62
63 struct semaphore open_mutex; 63 struct mutex open_mutex;
64 int used; 64 int used;
65 unsigned int dsp_loaded; 65 unsigned int dsp_loaded;
66 unsigned int exclusive: 1; 66 unsigned int exclusive: 1;
diff --git a/include/sound/i2c.h b/include/sound/i2c.h
index 81eb23ed761f..d125ff8c85e8 100644
--- a/include/sound/i2c.h
+++ b/include/sound/i2c.h
@@ -55,7 +55,7 @@ struct snd_i2c_bus {
55 struct snd_card *card; /* card which I2C belongs to */ 55 struct snd_card *card; /* card which I2C belongs to */
56 char name[32]; /* some useful label */ 56 char name[32]; /* some useful label */
57 57
58 struct semaphore lock_mutex; 58 struct mutex lock_mutex;
59 59
60 struct snd_i2c_bus *master; /* master bus when SCK/SCL is shared */ 60 struct snd_i2c_bus *master; /* master bus when SCK/SCL is shared */
61 struct list_head buses; /* master: slave buses sharing SCK/SCL, slave: link list */ 61 struct list_head buses; /* master: slave buses sharing SCK/SCL, slave: link list */
@@ -84,17 +84,17 @@ int snd_i2c_device_free(struct snd_i2c_device *device);
84static inline void snd_i2c_lock(struct snd_i2c_bus *bus) 84static inline void snd_i2c_lock(struct snd_i2c_bus *bus)
85{ 85{
86 if (bus->master) 86 if (bus->master)
87 down(&bus->master->lock_mutex); 87 mutex_lock(&bus->master->lock_mutex);
88 else 88 else
89 down(&bus->lock_mutex); 89 mutex_lock(&bus->lock_mutex);
90} 90}
91 91
92static inline void snd_i2c_unlock(struct snd_i2c_bus *bus) 92static inline void snd_i2c_unlock(struct snd_i2c_bus *bus)
93{ 93{
94 if (bus->master) 94 if (bus->master)
95 up(&bus->master->lock_mutex); 95 mutex_unlock(&bus->master->lock_mutex);
96 else 96 else
97 up(&bus->lock_mutex); 97 mutex_unlock(&bus->lock_mutex);
98} 98}
99 99
100int snd_i2c_sendbytes(struct snd_i2c_device *device, unsigned char *bytes, int count); 100int snd_i2c_sendbytes(struct snd_i2c_device *device, unsigned char *bytes, int count);
diff --git a/include/sound/info.h b/include/sound/info.h
index 8ea5c7497c03..f23d8381c216 100644
--- a/include/sound/info.h
+++ b/include/sound/info.h
@@ -84,7 +84,7 @@ struct snd_info_entry {
84 void *private_data; 84 void *private_data;
85 void (*private_free)(struct snd_info_entry *entry); 85 void (*private_free)(struct snd_info_entry *entry);
86 struct proc_dir_entry *p; 86 struct proc_dir_entry *p;
87 struct semaphore access; 87 struct mutex access;
88}; 88};
89 89
90#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS) 90#if defined(CONFIG_SND_OSSEMUL) && defined(CONFIG_PROC_FS)
diff --git a/include/sound/mixer_oss.h b/include/sound/mixer_oss.h
index ca5b4822b62c..197b9e3d612b 100644
--- a/include/sound/mixer_oss.h
+++ b/include/sound/mixer_oss.h
@@ -61,7 +61,7 @@ struct snd_mixer_oss {
61 unsigned int active_index); 61 unsigned int active_index);
62 void *private_data_recsrc; 62 void *private_data_recsrc;
63 void (*private_free_recsrc)(struct snd_mixer_oss *mixer); 63 void (*private_free_recsrc)(struct snd_mixer_oss *mixer);
64 struct semaphore reg_mutex; 64 struct mutex reg_mutex;
65 struct snd_info_entry *proc_entry; 65 struct snd_info_entry *proc_entry;
66 int oss_dev_alloc; 66 int oss_dev_alloc;
67 /* --- */ 67 /* --- */
diff --git a/include/sound/opl3.h b/include/sound/opl3.h
index 83392641cb47..444907166f97 100644
--- a/include/sound/opl3.h
+++ b/include/sound/opl3.h
@@ -53,6 +53,7 @@
53 53
54#include "driver.h" 54#include "driver.h"
55#include <linux/time.h> 55#include <linux/time.h>
56#include <linux/mutex.h>
56#include "core.h" 57#include "core.h"
57#include "hwdep.h" 58#include "hwdep.h"
58#include "timer.h" 59#include "timer.h"
@@ -312,7 +313,7 @@ struct snd_opl3 {
312 int sys_timer_status; /* system timer run status */ 313 int sys_timer_status; /* system timer run status */
313 spinlock_t sys_timer_lock; /* Lock for system timer access */ 314 spinlock_t sys_timer_lock; /* Lock for system timer access */
314#endif 315#endif
315 struct semaphore access_mutex; /* locking */ 316 struct mutex access_mutex; /* locking */
316}; 317};
317 318
318/* opl3.c */ 319/* opl3.c */
diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index 314268a11048..15b885660bf0 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -420,7 +420,7 @@ struct snd_pcm {
420 char id[64]; 420 char id[64];
421 char name[80]; 421 char name[80];
422 struct snd_pcm_str streams[2]; 422 struct snd_pcm_str streams[2];
423 struct semaphore open_mutex; 423 struct mutex open_mutex;
424 wait_queue_head_t open_wait; 424 wait_queue_head_t open_wait;
425 void *private_data; 425 void *private_data;
426 void (*private_free) (struct snd_pcm *pcm); 426 void (*private_free) (struct snd_pcm *pcm);
diff --git a/include/sound/pcm_oss.h b/include/sound/pcm_oss.h
index fddaddde47b4..bff0778e1969 100644
--- a/include/sound/pcm_oss.h
+++ b/include/sound/pcm_oss.h
@@ -56,8 +56,10 @@ struct snd_pcm_oss_runtime {
56 size_t mmap_bytes; 56 size_t mmap_bytes;
57 char *buffer; /* vmallocated period */ 57 char *buffer; /* vmallocated period */
58 size_t buffer_used; /* used length from period buffer */ 58 size_t buffer_used; /* used length from period buffer */
59#ifdef CONFIG_SND_PCM_OSS_PLUGINS
59 struct snd_pcm_plugin *plugin_first; 60 struct snd_pcm_plugin *plugin_first;
60 struct snd_pcm_plugin *plugin_last; 61 struct snd_pcm_plugin *plugin_last;
62#endif
61 unsigned int prev_hw_ptr_interrupt; 63 unsigned int prev_hw_ptr_interrupt;
62}; 64};
63 65
@@ -73,7 +75,7 @@ struct snd_pcm_oss_substream {
73 75
74struct snd_pcm_oss_stream { 76struct snd_pcm_oss_stream {
75 struct snd_pcm_oss_setup *setup_list; /* setup list */ 77 struct snd_pcm_oss_setup *setup_list; /* setup list */
76 struct semaphore setup_mutex; 78 struct mutex setup_mutex;
77 struct snd_info_entry *proc_entry; 79 struct snd_info_entry *proc_entry;
78}; 80};
79 81
diff --git a/include/sound/rawmidi.h b/include/sound/rawmidi.h
index d19bddfbf995..584e73dd4793 100644
--- a/include/sound/rawmidi.h
+++ b/include/sound/rawmidi.h
@@ -26,7 +26,7 @@
26#include <linux/interrupt.h> 26#include <linux/interrupt.h>
27#include <linux/spinlock.h> 27#include <linux/spinlock.h>
28#include <linux/wait.h> 28#include <linux/wait.h>
29#include <asm/semaphore.h> 29#include <linux/mutex.h>
30 30
31#if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) 31#if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE)
32#include "seq_device.h" 32#include "seq_device.h"
@@ -130,7 +130,7 @@ struct snd_rawmidi {
130 void *private_data; 130 void *private_data;
131 void (*private_free) (struct snd_rawmidi *rmidi); 131 void (*private_free) (struct snd_rawmidi *rmidi);
132 132
133 struct semaphore open_mutex; 133 struct mutex open_mutex;
134 wait_queue_head_t open_wait; 134 wait_queue_head_t open_wait;
135 135
136 struct snd_info_entry *dev; 136 struct snd_info_entry *dev;
diff --git a/include/sound/sb16_csp.h b/include/sound/sb16_csp.h
index 3b44d4b370f5..caf6fe21514d 100644
--- a/include/sound/sb16_csp.h
+++ b/include/sound/sb16_csp.h
@@ -158,7 +158,7 @@ struct snd_sb_csp {
158 struct snd_kcontrol *qsound_switch; 158 struct snd_kcontrol *qsound_switch;
159 struct snd_kcontrol *qsound_space; 159 struct snd_kcontrol *qsound_space;
160 160
161 struct semaphore access_mutex; /* locking */ 161 struct mutex access_mutex; /* locking */
162}; 162};
163 163
164int snd_sb_csp_new(struct snd_sb *chip, int device, struct snd_hwdep ** rhwdep); 164int snd_sb_csp_new(struct snd_sb *chip, int device, struct snd_hwdep ** rhwdep);
diff --git a/include/sound/seq_instr.h b/include/sound/seq_instr.h
index db764f09efb7..f2db03bfd74e 100644
--- a/include/sound/seq_instr.h
+++ b/include/sound/seq_instr.h
@@ -64,7 +64,7 @@ struct snd_seq_kinstr_list {
64 64
65 spinlock_t lock; 65 spinlock_t lock;
66 spinlock_t ops_lock; 66 spinlock_t ops_lock;
67 struct semaphore ops_mutex; 67 struct mutex ops_mutex;
68 unsigned long ops_flags; 68 unsigned long ops_flags;
69}; 69};
70 70
diff --git a/include/sound/soundfont.h b/include/sound/soundfont.h
index 61a010c65d02..f95d99ba7f74 100644
--- a/include/sound/soundfont.h
+++ b/include/sound/soundfont.h
@@ -93,7 +93,7 @@ struct snd_sf_list {
93 int sample_locked; /* locked time for sample */ 93 int sample_locked; /* locked time for sample */
94 struct snd_sf_callback callback; /* callback functions */ 94 struct snd_sf_callback callback; /* callback functions */
95 int presets_locked; 95 int presets_locked;
96 struct semaphore presets_mutex; 96 struct mutex presets_mutex;
97 spinlock_t lock; 97 spinlock_t lock;
98 struct snd_util_memhdr *memhdr; 98 struct snd_util_memhdr *memhdr;
99}; 99};
diff --git a/include/sound/util_mem.h b/include/sound/util_mem.h
index 69944bbb5445..a1fb706b59a6 100644
--- a/include/sound/util_mem.h
+++ b/include/sound/util_mem.h
@@ -1,5 +1,7 @@
1#ifndef __SOUND_UTIL_MEM_H 1#ifndef __SOUND_UTIL_MEM_H
2#define __SOUND_UTIL_MEM_H 2#define __SOUND_UTIL_MEM_H
3
4#include <linux/mutex.h>
3/* 5/*
4 * Copyright (C) 2000 Takashi Iwai <tiwai@suse.de> 6 * Copyright (C) 2000 Takashi Iwai <tiwai@suse.de>
5 * 7 *
@@ -40,7 +42,7 @@ struct snd_util_memhdr {
40 int nblocks; /* # of allocated blocks */ 42 int nblocks; /* # of allocated blocks */
41 unsigned int used; /* used memory size */ 43 unsigned int used; /* used memory size */
42 int block_extra_size; /* extra data size of chunk */ 44 int block_extra_size; /* extra data size of chunk */
43 struct semaphore block_mutex; /* lock */ 45 struct mutex block_mutex; /* lock */
44}; 46};
45 47
46/* 48/*
diff --git a/include/sound/version.h b/include/sound/version.h
index 919da0dd001c..4f0e65808cf1 100644
--- a/include/sound/version.h
+++ b/include/sound/version.h
@@ -1,3 +1,3 @@
1/* include/version.h. Generated by configure. */ 1/* include/version.h. Generated by configure. */
2#define CONFIG_SND_VERSION "1.0.11rc2" 2#define CONFIG_SND_VERSION "1.0.11rc4"
3#define CONFIG_SND_DATE " (Wed Jan 04 08:57:20 2006 UTC)" 3#define CONFIG_SND_DATE " (Wed Mar 22 10:27:24 2006 UTC)"
diff --git a/include/sound/vx_core.h b/include/sound/vx_core.h
index 5fd6f3305e0d..9821a6194caa 100644
--- a/include/sound/vx_core.h
+++ b/include/sound/vx_core.h
@@ -206,7 +206,7 @@ struct vx_core {
206 int audio_monitor[4]; /* playback hw-monitor level */ 206 int audio_monitor[4]; /* playback hw-monitor level */
207 unsigned char audio_monitor_active[4]; /* playback hw-monitor mute/unmute */ 207 unsigned char audio_monitor_active[4]; /* playback hw-monitor mute/unmute */
208 208
209 struct semaphore mixer_mutex; 209 struct mutex mixer_mutex;
210 210
211 const struct firmware *firmware[4]; /* loaded firmware data */ 211 const struct firmware *firmware[4]; /* loaded firmware data */
212}; 212};
diff --git a/include/sound/ymfpci.h b/include/sound/ymfpci.h
index d567bfdbf513..d41cda97e952 100644
--- a/include/sound/ymfpci.h
+++ b/include/sound/ymfpci.h
@@ -269,9 +269,10 @@ struct snd_ymfpci_pcm {
269 enum snd_ymfpci_pcm_type type; 269 enum snd_ymfpci_pcm_type type;
270 struct snd_pcm_substream *substream; 270 struct snd_pcm_substream *substream;
271 struct snd_ymfpci_voice *voices[2]; /* playback only */ 271 struct snd_ymfpci_voice *voices[2]; /* playback only */
272 unsigned int running: 1; 272 unsigned int running: 1,
273 unsigned int output_front: 1; 273 output_front: 1,
274 unsigned int output_rear: 1; 274 output_rear: 1,
275 swap_rear: 1;
275 unsigned int update_pcm_vol; 276 unsigned int update_pcm_vol;
276 u32 period_size; /* cached from runtime->period_size */ 277 u32 period_size; /* cached from runtime->period_size */
277 u32 buffer_size; /* cached from runtime->buffer_size */ 278 u32 buffer_size; /* cached from runtime->buffer_size */
@@ -344,6 +345,7 @@ struct snd_ymfpci {
344 struct snd_kcontrol *spdif_pcm_ctl; 345 struct snd_kcontrol *spdif_pcm_ctl;
345 int mode_dup4ch; 346 int mode_dup4ch;
346 int rear_opened; 347 int rear_opened;
348 int rear_swap;
347 int spdif_opened; 349 int spdif_opened;
348 struct { 350 struct {
349 u16 left; 351 u16 left;
@@ -376,7 +378,7 @@ int snd_ymfpci_pcm(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
376int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 378int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
377int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 379int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
378int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); 380int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm);
379int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch); 381int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch, int rear_swap);
380int snd_ymfpci_timer(struct snd_ymfpci *chip, int device); 382int snd_ymfpci_timer(struct snd_ymfpci *chip, int device);
381 383
382#endif /* __SOUND_YMFPCI_H */ 384#endif /* __SOUND_YMFPCI_H */