diff options
Diffstat (limited to 'include/sound')
-rw-r--r-- | include/sound/ac97_codec.h | 15 | ||||
-rw-r--r-- | include/sound/ad1848.h | 2 | ||||
-rw-r--r-- | include/sound/ak4531_codec.h | 2 | ||||
-rw-r--r-- | include/sound/core.h | 8 | ||||
-rw-r--r-- | include/sound/cs4231.h | 4 | ||||
-rw-r--r-- | include/sound/cs46xx.h | 2 | ||||
-rw-r--r-- | include/sound/emu10k1.h | 4 | ||||
-rw-r--r-- | include/sound/emux_synth.h | 2 | ||||
-rw-r--r-- | include/sound/gus.h | 6 | ||||
-rw-r--r-- | include/sound/hwdep.h | 2 | ||||
-rw-r--r-- | include/sound/i2c.h | 10 | ||||
-rw-r--r-- | include/sound/info.h | 2 | ||||
-rw-r--r-- | include/sound/mixer_oss.h | 2 | ||||
-rw-r--r-- | include/sound/opl3.h | 3 | ||||
-rw-r--r-- | include/sound/pcm.h | 2 | ||||
-rw-r--r-- | include/sound/pcm_oss.h | 4 | ||||
-rw-r--r-- | include/sound/rawmidi.h | 4 | ||||
-rw-r--r-- | include/sound/sb16_csp.h | 2 | ||||
-rw-r--r-- | include/sound/seq_instr.h | 2 | ||||
-rw-r--r-- | include/sound/soundfont.h | 2 | ||||
-rw-r--r-- | include/sound/util_mem.h | 4 | ||||
-rw-r--r-- | include/sound/version.h | 4 | ||||
-rw-r--r-- | include/sound/vx_core.h | 2 | ||||
-rw-r--r-- | include/sound/ymfpci.h | 10 |
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 */ | ||
437 | struct snd_ac97_res_table { | ||
438 | unsigned short reg; /* register */ | ||
439 | unsigned short bits; /* resolution bitmask */ | ||
440 | }; | ||
441 | |||
436 | struct snd_ac97_template { | 442 | struct 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 | ||
447 | struct snd_ac97 { | 452 | struct 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 | ||
77 | int snd_ak4531_mixer(struct snd_card *card, struct snd_ak4531 *_ak4531, | 77 | int 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 |
151 | static inline void snd_power_lock(struct snd_card *card) | 151 | static 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 | ||
156 | static inline void snd_power_unlock(struct snd_card *card) | 156 | static 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 | ||
161 | static inline unsigned int snd_power_get_state(struct snd_card *card) | 161 | static 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 | ||
215 | struct snd_gf1_dma_block { | 215 | struct 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); | |||
84 | static inline void snd_i2c_lock(struct snd_i2c_bus *bus) | 84 | static 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 | ||
92 | static inline void snd_i2c_unlock(struct snd_i2c_bus *bus) | 92 | static 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 | ||
100 | int snd_i2c_sendbytes(struct snd_i2c_device *device, unsigned char *bytes, int count); | 100 | int 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 | ||
74 | struct snd_pcm_oss_stream { | 76 | struct 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 | ||
164 | int snd_sb_csp_new(struct snd_sb *chip, int device, struct snd_hwdep ** rhwdep); | 164 | int 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); | |||
376 | int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); | 378 | int snd_ymfpci_pcm2(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); |
377 | int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); | 379 | int snd_ymfpci_pcm_spdif(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); |
378 | int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); | 380 | int snd_ymfpci_pcm_4ch(struct snd_ymfpci *chip, int device, struct snd_pcm **rpcm); |
379 | int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch); | 381 | int snd_ymfpci_mixer(struct snd_ymfpci *chip, int rear_switch, int rear_swap); |
380 | int snd_ymfpci_timer(struct snd_ymfpci *chip, int device); | 382 | int snd_ymfpci_timer(struct snd_ymfpci *chip, int device); |
381 | 383 | ||
382 | #endif /* __SOUND_YMFPCI_H */ | 384 | #endif /* __SOUND_YMFPCI_H */ |