diff options
-rw-r--r-- | include/sound/emux_synth.h | 2 | ||||
-rw-r--r-- | include/sound/i2c.h | 10 | ||||
-rw-r--r-- | include/sound/opl3.h | 3 | ||||
-rw-r--r-- | include/sound/soundfont.h | 2 | ||||
-rw-r--r-- | include/sound/util_mem.h | 4 | ||||
-rw-r--r-- | include/sound/vx_core.h | 2 | ||||
-rw-r--r-- | sound/drivers/opl3/opl3_lib.c | 2 | ||||
-rw-r--r-- | sound/drivers/opl3/opl3_seq.c | 10 | ||||
-rw-r--r-- | sound/drivers/opl3/opl3_synth.c | 10 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_lib.c | 2 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_local.h | 2 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_proc.c | 10 | ||||
-rw-r--r-- | sound/drivers/opl4/opl4_seq.c | 12 | ||||
-rw-r--r-- | sound/drivers/vx/vx_core.c | 2 | ||||
-rw-r--r-- | sound/drivers/vx/vx_mixer.c | 72 | ||||
-rw-r--r-- | sound/i2c/i2c.c | 2 | ||||
-rw-r--r-- | sound/synth/emux/emux.c | 2 | ||||
-rw-r--r-- | sound/synth/emux/emux_oss.c | 12 | ||||
-rw-r--r-- | sound/synth/emux/emux_proc.c | 8 | ||||
-rw-r--r-- | sound/synth/emux/emux_seq.c | 12 | ||||
-rw-r--r-- | sound/synth/emux/soundfont.c | 6 | ||||
-rw-r--r-- | sound/synth/util_mem.c | 15 |
22 files changed, 103 insertions, 99 deletions
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/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/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/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/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/sound/drivers/opl3/opl3_lib.c b/sound/drivers/opl3/opl3_lib.c index 1e0c76b9acfc..4f8556976774 100644 --- a/sound/drivers/opl3/opl3_lib.c +++ b/sound/drivers/opl3/opl3_lib.c | |||
@@ -358,7 +358,7 @@ int snd_opl3_new(struct snd_card *card, | |||
358 | opl3->hardware = hardware; | 358 | opl3->hardware = hardware; |
359 | spin_lock_init(&opl3->reg_lock); | 359 | spin_lock_init(&opl3->reg_lock); |
360 | spin_lock_init(&opl3->timer_lock); | 360 | spin_lock_init(&opl3->timer_lock); |
361 | init_MUTEX(&opl3->access_mutex); | 361 | mutex_init(&opl3->access_mutex); |
362 | 362 | ||
363 | if ((err = snd_device_new(card, SNDRV_DEV_CODEC, opl3, &ops)) < 0) { | 363 | if ((err = snd_device_new(card, SNDRV_DEV_CODEC, opl3, &ops)) < 0) { |
364 | snd_opl3_free(opl3); | 364 | snd_opl3_free(opl3); |
diff --git a/sound/drivers/opl3/opl3_seq.c b/sound/drivers/opl3/opl3_seq.c index c4ead790008a..e26556d500e5 100644 --- a/sound/drivers/opl3/opl3_seq.c +++ b/sound/drivers/opl3/opl3_seq.c | |||
@@ -52,13 +52,13 @@ int snd_opl3_synth_setup(struct snd_opl3 * opl3) | |||
52 | { | 52 | { |
53 | int idx; | 53 | int idx; |
54 | 54 | ||
55 | down(&opl3->access_mutex); | 55 | mutex_lock(&opl3->access_mutex); |
56 | if (opl3->used) { | 56 | if (opl3->used) { |
57 | up(&opl3->access_mutex); | 57 | mutex_unlock(&opl3->access_mutex); |
58 | return -EBUSY; | 58 | return -EBUSY; |
59 | } | 59 | } |
60 | opl3->used++; | 60 | opl3->used++; |
61 | up(&opl3->access_mutex); | 61 | mutex_unlock(&opl3->access_mutex); |
62 | 62 | ||
63 | snd_opl3_reset(opl3); | 63 | snd_opl3_reset(opl3); |
64 | 64 | ||
@@ -91,9 +91,9 @@ void snd_opl3_synth_cleanup(struct snd_opl3 * opl3) | |||
91 | spin_unlock_irqrestore(&opl3->sys_timer_lock, flags); | 91 | spin_unlock_irqrestore(&opl3->sys_timer_lock, flags); |
92 | 92 | ||
93 | snd_opl3_reset(opl3); | 93 | snd_opl3_reset(opl3); |
94 | down(&opl3->access_mutex); | 94 | mutex_lock(&opl3->access_mutex); |
95 | opl3->used--; | 95 | opl3->used--; |
96 | up(&opl3->access_mutex); | 96 | mutex_unlock(&opl3->access_mutex); |
97 | } | 97 | } |
98 | 98 | ||
99 | static int snd_opl3_synth_use(void *private_data, struct snd_seq_port_subscribe * info) | 99 | static int snd_opl3_synth_use(void *private_data, struct snd_seq_port_subscribe * info) |
diff --git a/sound/drivers/opl3/opl3_synth.c b/sound/drivers/opl3/opl3_synth.c index 3534a0e3342a..6db503f025b3 100644 --- a/sound/drivers/opl3/opl3_synth.c +++ b/sound/drivers/opl3/opl3_synth.c | |||
@@ -76,13 +76,13 @@ int snd_opl3_open(struct snd_hwdep * hw, struct file *file) | |||
76 | { | 76 | { |
77 | struct snd_opl3 *opl3 = hw->private_data; | 77 | struct snd_opl3 *opl3 = hw->private_data; |
78 | 78 | ||
79 | down(&opl3->access_mutex); | 79 | mutex_lock(&opl3->access_mutex); |
80 | if (opl3->used) { | 80 | if (opl3->used) { |
81 | up(&opl3->access_mutex); | 81 | mutex_unlock(&opl3->access_mutex); |
82 | return -EAGAIN; | 82 | return -EAGAIN; |
83 | } | 83 | } |
84 | opl3->used++; | 84 | opl3->used++; |
85 | up(&opl3->access_mutex); | 85 | mutex_unlock(&opl3->access_mutex); |
86 | 86 | ||
87 | return 0; | 87 | return 0; |
88 | } | 88 | } |
@@ -179,9 +179,9 @@ int snd_opl3_release(struct snd_hwdep * hw, struct file *file) | |||
179 | struct snd_opl3 *opl3 = hw->private_data; | 179 | struct snd_opl3 *opl3 = hw->private_data; |
180 | 180 | ||
181 | snd_opl3_reset(opl3); | 181 | snd_opl3_reset(opl3); |
182 | down(&opl3->access_mutex); | 182 | mutex_lock(&opl3->access_mutex); |
183 | opl3->used--; | 183 | opl3->used--; |
184 | up(&opl3->access_mutex); | 184 | mutex_unlock(&opl3->access_mutex); |
185 | 185 | ||
186 | return 0; | 186 | return 0; |
187 | } | 187 | } |
diff --git a/sound/drivers/opl4/opl4_lib.c b/sound/drivers/opl4/opl4_lib.c index ddfc10d04be2..4bc860ae02de 100644 --- a/sound/drivers/opl4/opl4_lib.c +++ b/sound/drivers/opl4/opl4_lib.c | |||
@@ -214,7 +214,7 @@ int snd_opl4_create(struct snd_card *card, | |||
214 | opl4->fm_port = fm_port; | 214 | opl4->fm_port = fm_port; |
215 | opl4->pcm_port = pcm_port; | 215 | opl4->pcm_port = pcm_port; |
216 | spin_lock_init(&opl4->reg_lock); | 216 | spin_lock_init(&opl4->reg_lock); |
217 | init_MUTEX(&opl4->access_mutex); | 217 | mutex_init(&opl4->access_mutex); |
218 | 218 | ||
219 | err = snd_opl4_detect(opl4); | 219 | err = snd_opl4_detect(opl4); |
220 | if (err < 0) { | 220 | if (err < 0) { |
diff --git a/sound/drivers/opl4/opl4_local.h b/sound/drivers/opl4/opl4_local.h index 7e088a4a2f4c..470e5a758a02 100644 --- a/sound/drivers/opl4/opl4_local.h +++ b/sound/drivers/opl4/opl4_local.h | |||
@@ -182,7 +182,7 @@ struct snd_opl4 { | |||
182 | struct snd_info_entry *proc_entry; | 182 | struct snd_info_entry *proc_entry; |
183 | int memory_access; | 183 | int memory_access; |
184 | #endif | 184 | #endif |
185 | struct semaphore access_mutex; | 185 | struct mutex access_mutex; |
186 | 186 | ||
187 | #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) | 187 | #if defined(CONFIG_SND_SEQUENCER) || defined(CONFIG_SND_SEQUENCER_MODULE) |
188 | int used; | 188 | int used; |
diff --git a/sound/drivers/opl4/opl4_proc.c b/sound/drivers/opl4/opl4_proc.c index f4b4e74fcc18..e552ec34166f 100644 --- a/sound/drivers/opl4/opl4_proc.c +++ b/sound/drivers/opl4/opl4_proc.c | |||
@@ -28,13 +28,13 @@ static int snd_opl4_mem_proc_open(struct snd_info_entry *entry, | |||
28 | { | 28 | { |
29 | struct snd_opl4 *opl4 = entry->private_data; | 29 | struct snd_opl4 *opl4 = entry->private_data; |
30 | 30 | ||
31 | down(&opl4->access_mutex); | 31 | mutex_lock(&opl4->access_mutex); |
32 | if (opl4->memory_access) { | 32 | if (opl4->memory_access) { |
33 | up(&opl4->access_mutex); | 33 | mutex_unlock(&opl4->access_mutex); |
34 | return -EBUSY; | 34 | return -EBUSY; |
35 | } | 35 | } |
36 | opl4->memory_access++; | 36 | opl4->memory_access++; |
37 | up(&opl4->access_mutex); | 37 | mutex_unlock(&opl4->access_mutex); |
38 | return 0; | 38 | return 0; |
39 | } | 39 | } |
40 | 40 | ||
@@ -43,9 +43,9 @@ static int snd_opl4_mem_proc_release(struct snd_info_entry *entry, | |||
43 | { | 43 | { |
44 | struct snd_opl4 *opl4 = entry->private_data; | 44 | struct snd_opl4 *opl4 = entry->private_data; |
45 | 45 | ||
46 | down(&opl4->access_mutex); | 46 | mutex_lock(&opl4->access_mutex); |
47 | opl4->memory_access--; | 47 | opl4->memory_access--; |
48 | up(&opl4->access_mutex); | 48 | mutex_unlock(&opl4->access_mutex); |
49 | return 0; | 49 | return 0; |
50 | } | 50 | } |
51 | 51 | ||
diff --git a/sound/drivers/opl4/opl4_seq.c b/sound/drivers/opl4/opl4_seq.c index e3480326e735..dc0dcdc6c313 100644 --- a/sound/drivers/opl4/opl4_seq.c +++ b/sound/drivers/opl4/opl4_seq.c | |||
@@ -62,10 +62,10 @@ static int snd_opl4_seq_use(void *private_data, struct snd_seq_port_subscribe *i | |||
62 | struct snd_opl4 *opl4 = private_data; | 62 | struct snd_opl4 *opl4 = private_data; |
63 | int err; | 63 | int err; |
64 | 64 | ||
65 | down(&opl4->access_mutex); | 65 | mutex_lock(&opl4->access_mutex); |
66 | 66 | ||
67 | if (opl4->used) { | 67 | if (opl4->used) { |
68 | up(&opl4->access_mutex); | 68 | mutex_unlock(&opl4->access_mutex); |
69 | return -EBUSY; | 69 | return -EBUSY; |
70 | } | 70 | } |
71 | opl4->used++; | 71 | opl4->used++; |
@@ -73,12 +73,12 @@ static int snd_opl4_seq_use(void *private_data, struct snd_seq_port_subscribe *i | |||
73 | if (info->sender.client != SNDRV_SEQ_CLIENT_SYSTEM) { | 73 | if (info->sender.client != SNDRV_SEQ_CLIENT_SYSTEM) { |
74 | err = snd_opl4_seq_use_inc(opl4); | 74 | err = snd_opl4_seq_use_inc(opl4); |
75 | if (err < 0) { | 75 | if (err < 0) { |
76 | up(&opl4->access_mutex); | 76 | mutex_unlock(&opl4->access_mutex); |
77 | return err; | 77 | return err; |
78 | } | 78 | } |
79 | } | 79 | } |
80 | 80 | ||
81 | up(&opl4->access_mutex); | 81 | mutex_unlock(&opl4->access_mutex); |
82 | 82 | ||
83 | snd_opl4_synth_reset(opl4); | 83 | snd_opl4_synth_reset(opl4); |
84 | return 0; | 84 | return 0; |
@@ -90,9 +90,9 @@ static int snd_opl4_seq_unuse(void *private_data, struct snd_seq_port_subscribe | |||
90 | 90 | ||
91 | snd_opl4_synth_shutdown(opl4); | 91 | snd_opl4_synth_shutdown(opl4); |
92 | 92 | ||
93 | down(&opl4->access_mutex); | 93 | mutex_lock(&opl4->access_mutex); |
94 | opl4->used--; | 94 | opl4->used--; |
95 | up(&opl4->access_mutex); | 95 | mutex_unlock(&opl4->access_mutex); |
96 | 96 | ||
97 | if (info->sender.client != SNDRV_SEQ_CLIENT_SYSTEM) | 97 | if (info->sender.client != SNDRV_SEQ_CLIENT_SYSTEM) |
98 | snd_opl4_seq_use_dec(opl4); | 98 | snd_opl4_seq_use_dec(opl4); |
diff --git a/sound/drivers/vx/vx_core.c b/sound/drivers/vx/vx_core.c index 43f615d7a545..fa4a2b5c2d8d 100644 --- a/sound/drivers/vx/vx_core.c +++ b/sound/drivers/vx/vx_core.c | |||
@@ -778,7 +778,7 @@ struct vx_core *snd_vx_create(struct snd_card *card, struct snd_vx_hardware *hw, | |||
778 | chip->type = hw->type; | 778 | chip->type = hw->type; |
779 | chip->ops = ops; | 779 | chip->ops = ops; |
780 | tasklet_init(&chip->tq, vx_interrupt, (unsigned long)chip); | 780 | tasklet_init(&chip->tq, vx_interrupt, (unsigned long)chip); |
781 | init_MUTEX(&chip->mixer_mutex); | 781 | mutex_init(&chip->mixer_mutex); |
782 | 782 | ||
783 | chip->card = card; | 783 | chip->card = card; |
784 | card->private_data = chip; | 784 | card->private_data = chip; |
diff --git a/sound/drivers/vx/vx_mixer.c b/sound/drivers/vx/vx_mixer.c index 8ec2c605d2f0..c1d7fcdd1973 100644 --- a/sound/drivers/vx/vx_mixer.c +++ b/sound/drivers/vx/vx_mixer.c | |||
@@ -427,10 +427,10 @@ static int vx_output_level_get(struct snd_kcontrol *kcontrol, struct snd_ctl_ele | |||
427 | { | 427 | { |
428 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 428 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
429 | int codec = kcontrol->id.index; | 429 | int codec = kcontrol->id.index; |
430 | down(&chip->mixer_mutex); | 430 | mutex_lock(&chip->mixer_mutex); |
431 | ucontrol->value.integer.value[0] = chip->output_level[codec][0]; | 431 | ucontrol->value.integer.value[0] = chip->output_level[codec][0]; |
432 | ucontrol->value.integer.value[1] = chip->output_level[codec][1]; | 432 | ucontrol->value.integer.value[1] = chip->output_level[codec][1]; |
433 | up(&chip->mixer_mutex); | 433 | mutex_unlock(&chip->mixer_mutex); |
434 | return 0; | 434 | return 0; |
435 | } | 435 | } |
436 | 436 | ||
@@ -438,7 +438,7 @@ static int vx_output_level_put(struct snd_kcontrol *kcontrol, struct snd_ctl_ele | |||
438 | { | 438 | { |
439 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 439 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
440 | int codec = kcontrol->id.index; | 440 | int codec = kcontrol->id.index; |
441 | down(&chip->mixer_mutex); | 441 | mutex_lock(&chip->mixer_mutex); |
442 | if (ucontrol->value.integer.value[0] != chip->output_level[codec][0] || | 442 | if (ucontrol->value.integer.value[0] != chip->output_level[codec][0] || |
443 | ucontrol->value.integer.value[1] != chip->output_level[codec][1]) { | 443 | ucontrol->value.integer.value[1] != chip->output_level[codec][1]) { |
444 | vx_set_analog_output_level(chip, codec, | 444 | vx_set_analog_output_level(chip, codec, |
@@ -446,10 +446,10 @@ static int vx_output_level_put(struct snd_kcontrol *kcontrol, struct snd_ctl_ele | |||
446 | ucontrol->value.integer.value[1]); | 446 | ucontrol->value.integer.value[1]); |
447 | chip->output_level[codec][0] = ucontrol->value.integer.value[0]; | 447 | chip->output_level[codec][0] = ucontrol->value.integer.value[0]; |
448 | chip->output_level[codec][1] = ucontrol->value.integer.value[1]; | 448 | chip->output_level[codec][1] = ucontrol->value.integer.value[1]; |
449 | up(&chip->mixer_mutex); | 449 | mutex_unlock(&chip->mixer_mutex); |
450 | return 1; | 450 | return 1; |
451 | } | 451 | } |
452 | up(&chip->mixer_mutex); | 452 | mutex_unlock(&chip->mixer_mutex); |
453 | return 0; | 453 | return 0; |
454 | } | 454 | } |
455 | 455 | ||
@@ -502,14 +502,14 @@ static int vx_audio_src_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_v | |||
502 | static int vx_audio_src_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 502 | static int vx_audio_src_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
503 | { | 503 | { |
504 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 504 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
505 | down(&chip->mixer_mutex); | 505 | mutex_lock(&chip->mixer_mutex); |
506 | if (chip->audio_source_target != ucontrol->value.enumerated.item[0]) { | 506 | if (chip->audio_source_target != ucontrol->value.enumerated.item[0]) { |
507 | chip->audio_source_target = ucontrol->value.enumerated.item[0]; | 507 | chip->audio_source_target = ucontrol->value.enumerated.item[0]; |
508 | vx_sync_audio_source(chip); | 508 | vx_sync_audio_source(chip); |
509 | up(&chip->mixer_mutex); | 509 | mutex_unlock(&chip->mixer_mutex); |
510 | return 1; | 510 | return 1; |
511 | } | 511 | } |
512 | up(&chip->mixer_mutex); | 512 | mutex_unlock(&chip->mixer_mutex); |
513 | return 0; | 513 | return 0; |
514 | } | 514 | } |
515 | 515 | ||
@@ -550,14 +550,14 @@ static int vx_clock_mode_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_ | |||
550 | static int vx_clock_mode_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) | 550 | static int vx_clock_mode_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) |
551 | { | 551 | { |
552 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 552 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
553 | down(&chip->mixer_mutex); | 553 | mutex_lock(&chip->mixer_mutex); |
554 | if (chip->clock_mode != ucontrol->value.enumerated.item[0]) { | 554 | if (chip->clock_mode != ucontrol->value.enumerated.item[0]) { |
555 | chip->clock_mode = ucontrol->value.enumerated.item[0]; | 555 | chip->clock_mode = ucontrol->value.enumerated.item[0]; |
556 | vx_set_clock(chip, chip->freq); | 556 | vx_set_clock(chip, chip->freq); |
557 | up(&chip->mixer_mutex); | 557 | mutex_unlock(&chip->mixer_mutex); |
558 | return 1; | 558 | return 1; |
559 | } | 559 | } |
560 | up(&chip->mixer_mutex); | 560 | mutex_unlock(&chip->mixer_mutex); |
561 | return 0; | 561 | return 0; |
562 | } | 562 | } |
563 | 563 | ||
@@ -587,10 +587,10 @@ static int vx_audio_gain_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_ | |||
587 | int audio = kcontrol->private_value & 0xff; | 587 | int audio = kcontrol->private_value & 0xff; |
588 | int capture = (kcontrol->private_value >> 8) & 1; | 588 | int capture = (kcontrol->private_value >> 8) & 1; |
589 | 589 | ||
590 | down(&chip->mixer_mutex); | 590 | mutex_lock(&chip->mixer_mutex); |
591 | ucontrol->value.integer.value[0] = chip->audio_gain[capture][audio]; | 591 | ucontrol->value.integer.value[0] = chip->audio_gain[capture][audio]; |
592 | ucontrol->value.integer.value[1] = chip->audio_gain[capture][audio+1]; | 592 | ucontrol->value.integer.value[1] = chip->audio_gain[capture][audio+1]; |
593 | up(&chip->mixer_mutex); | 593 | mutex_unlock(&chip->mixer_mutex); |
594 | return 0; | 594 | return 0; |
595 | } | 595 | } |
596 | 596 | ||
@@ -600,15 +600,15 @@ static int vx_audio_gain_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_ | |||
600 | int audio = kcontrol->private_value & 0xff; | 600 | int audio = kcontrol->private_value & 0xff; |
601 | int capture = (kcontrol->private_value >> 8) & 1; | 601 | int capture = (kcontrol->private_value >> 8) & 1; |
602 | 602 | ||
603 | down(&chip->mixer_mutex); | 603 | mutex_lock(&chip->mixer_mutex); |
604 | if (ucontrol->value.integer.value[0] != chip->audio_gain[capture][audio] || | 604 | if (ucontrol->value.integer.value[0] != chip->audio_gain[capture][audio] || |
605 | ucontrol->value.integer.value[1] != chip->audio_gain[capture][audio+1]) { | 605 | ucontrol->value.integer.value[1] != chip->audio_gain[capture][audio+1]) { |
606 | vx_set_audio_gain(chip, audio, capture, ucontrol->value.integer.value[0]); | 606 | vx_set_audio_gain(chip, audio, capture, ucontrol->value.integer.value[0]); |
607 | vx_set_audio_gain(chip, audio+1, capture, ucontrol->value.integer.value[1]); | 607 | vx_set_audio_gain(chip, audio+1, capture, ucontrol->value.integer.value[1]); |
608 | up(&chip->mixer_mutex); | 608 | mutex_unlock(&chip->mixer_mutex); |
609 | return 1; | 609 | return 1; |
610 | } | 610 | } |
611 | up(&chip->mixer_mutex); | 611 | mutex_unlock(&chip->mixer_mutex); |
612 | return 0; | 612 | return 0; |
613 | } | 613 | } |
614 | 614 | ||
@@ -617,10 +617,10 @@ static int vx_audio_monitor_get(struct snd_kcontrol *kcontrol, struct snd_ctl_el | |||
617 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 617 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
618 | int audio = kcontrol->private_value & 0xff; | 618 | int audio = kcontrol->private_value & 0xff; |
619 | 619 | ||
620 | down(&chip->mixer_mutex); | 620 | mutex_lock(&chip->mixer_mutex); |
621 | ucontrol->value.integer.value[0] = chip->audio_monitor[audio]; | 621 | ucontrol->value.integer.value[0] = chip->audio_monitor[audio]; |
622 | ucontrol->value.integer.value[1] = chip->audio_monitor[audio+1]; | 622 | ucontrol->value.integer.value[1] = chip->audio_monitor[audio+1]; |
623 | up(&chip->mixer_mutex); | 623 | mutex_unlock(&chip->mixer_mutex); |
624 | return 0; | 624 | return 0; |
625 | } | 625 | } |
626 | 626 | ||
@@ -629,17 +629,17 @@ static int vx_audio_monitor_put(struct snd_kcontrol *kcontrol, struct snd_ctl_el | |||
629 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 629 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
630 | int audio = kcontrol->private_value & 0xff; | 630 | int audio = kcontrol->private_value & 0xff; |
631 | 631 | ||
632 | down(&chip->mixer_mutex); | 632 | mutex_lock(&chip->mixer_mutex); |
633 | if (ucontrol->value.integer.value[0] != chip->audio_monitor[audio] || | 633 | if (ucontrol->value.integer.value[0] != chip->audio_monitor[audio] || |
634 | ucontrol->value.integer.value[1] != chip->audio_monitor[audio+1]) { | 634 | ucontrol->value.integer.value[1] != chip->audio_monitor[audio+1]) { |
635 | vx_set_monitor_level(chip, audio, ucontrol->value.integer.value[0], | 635 | vx_set_monitor_level(chip, audio, ucontrol->value.integer.value[0], |
636 | chip->audio_monitor_active[audio]); | 636 | chip->audio_monitor_active[audio]); |
637 | vx_set_monitor_level(chip, audio+1, ucontrol->value.integer.value[1], | 637 | vx_set_monitor_level(chip, audio+1, ucontrol->value.integer.value[1], |
638 | chip->audio_monitor_active[audio+1]); | 638 | chip->audio_monitor_active[audio+1]); |
639 | up(&chip->mixer_mutex); | 639 | mutex_unlock(&chip->mixer_mutex); |
640 | return 1; | 640 | return 1; |
641 | } | 641 | } |
642 | up(&chip->mixer_mutex); | 642 | mutex_unlock(&chip->mixer_mutex); |
643 | return 0; | 643 | return 0; |
644 | } | 644 | } |
645 | 645 | ||
@@ -657,10 +657,10 @@ static int vx_audio_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_va | |||
657 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 657 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
658 | int audio = kcontrol->private_value & 0xff; | 658 | int audio = kcontrol->private_value & 0xff; |
659 | 659 | ||
660 | down(&chip->mixer_mutex); | 660 | mutex_lock(&chip->mixer_mutex); |
661 | ucontrol->value.integer.value[0] = chip->audio_active[audio]; | 661 | ucontrol->value.integer.value[0] = chip->audio_active[audio]; |
662 | ucontrol->value.integer.value[1] = chip->audio_active[audio+1]; | 662 | ucontrol->value.integer.value[1] = chip->audio_active[audio+1]; |
663 | up(&chip->mixer_mutex); | 663 | mutex_unlock(&chip->mixer_mutex); |
664 | return 0; | 664 | return 0; |
665 | } | 665 | } |
666 | 666 | ||
@@ -669,15 +669,15 @@ static int vx_audio_sw_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_va | |||
669 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 669 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
670 | int audio = kcontrol->private_value & 0xff; | 670 | int audio = kcontrol->private_value & 0xff; |
671 | 671 | ||
672 | down(&chip->mixer_mutex); | 672 | mutex_lock(&chip->mixer_mutex); |
673 | if (ucontrol->value.integer.value[0] != chip->audio_active[audio] || | 673 | if (ucontrol->value.integer.value[0] != chip->audio_active[audio] || |
674 | ucontrol->value.integer.value[1] != chip->audio_active[audio+1]) { | 674 | ucontrol->value.integer.value[1] != chip->audio_active[audio+1]) { |
675 | vx_set_audio_switch(chip, audio, ucontrol->value.integer.value[0]); | 675 | vx_set_audio_switch(chip, audio, ucontrol->value.integer.value[0]); |
676 | vx_set_audio_switch(chip, audio+1, ucontrol->value.integer.value[1]); | 676 | vx_set_audio_switch(chip, audio+1, ucontrol->value.integer.value[1]); |
677 | up(&chip->mixer_mutex); | 677 | mutex_unlock(&chip->mixer_mutex); |
678 | return 1; | 678 | return 1; |
679 | } | 679 | } |
680 | up(&chip->mixer_mutex); | 680 | mutex_unlock(&chip->mixer_mutex); |
681 | return 0; | 681 | return 0; |
682 | } | 682 | } |
683 | 683 | ||
@@ -686,10 +686,10 @@ static int vx_monitor_sw_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_ | |||
686 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 686 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
687 | int audio = kcontrol->private_value & 0xff; | 687 | int audio = kcontrol->private_value & 0xff; |
688 | 688 | ||
689 | down(&chip->mixer_mutex); | 689 | mutex_lock(&chip->mixer_mutex); |
690 | ucontrol->value.integer.value[0] = chip->audio_monitor_active[audio]; | 690 | ucontrol->value.integer.value[0] = chip->audio_monitor_active[audio]; |
691 | ucontrol->value.integer.value[1] = chip->audio_monitor_active[audio+1]; | 691 | ucontrol->value.integer.value[1] = chip->audio_monitor_active[audio+1]; |
692 | up(&chip->mixer_mutex); | 692 | mutex_unlock(&chip->mixer_mutex); |
693 | return 0; | 693 | return 0; |
694 | } | 694 | } |
695 | 695 | ||
@@ -698,17 +698,17 @@ static int vx_monitor_sw_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_ | |||
698 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 698 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
699 | int audio = kcontrol->private_value & 0xff; | 699 | int audio = kcontrol->private_value & 0xff; |
700 | 700 | ||
701 | down(&chip->mixer_mutex); | 701 | mutex_lock(&chip->mixer_mutex); |
702 | if (ucontrol->value.integer.value[0] != chip->audio_monitor_active[audio] || | 702 | if (ucontrol->value.integer.value[0] != chip->audio_monitor_active[audio] || |
703 | ucontrol->value.integer.value[1] != chip->audio_monitor_active[audio+1]) { | 703 | ucontrol->value.integer.value[1] != chip->audio_monitor_active[audio+1]) { |
704 | vx_set_monitor_level(chip, audio, chip->audio_monitor[audio], | 704 | vx_set_monitor_level(chip, audio, chip->audio_monitor[audio], |
705 | ucontrol->value.integer.value[0]); | 705 | ucontrol->value.integer.value[0]); |
706 | vx_set_monitor_level(chip, audio+1, chip->audio_monitor[audio+1], | 706 | vx_set_monitor_level(chip, audio+1, chip->audio_monitor[audio+1], |
707 | ucontrol->value.integer.value[1]); | 707 | ucontrol->value.integer.value[1]); |
708 | up(&chip->mixer_mutex); | 708 | mutex_unlock(&chip->mixer_mutex); |
709 | return 1; | 709 | return 1; |
710 | } | 710 | } |
711 | up(&chip->mixer_mutex); | 711 | mutex_unlock(&chip->mixer_mutex); |
712 | return 0; | 712 | return 0; |
713 | } | 713 | } |
714 | 714 | ||
@@ -756,12 +756,12 @@ static int vx_iec958_get(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_valu | |||
756 | { | 756 | { |
757 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); | 757 | struct vx_core *chip = snd_kcontrol_chip(kcontrol); |
758 | 758 | ||
759 | down(&chip->mixer_mutex); | 759 | mutex_lock(&chip->mixer_mutex); |
760 | ucontrol->value.iec958.status[0] = (chip->uer_bits >> 0) & 0xff; | 760 | ucontrol->value.iec958.status[0] = (chip->uer_bits >> 0) & 0xff; |
761 | ucontrol->value.iec958.status[1] = (chip->uer_bits >> 8) & 0xff; | 761 | ucontrol->value.iec958.status[1] = (chip->uer_bits >> 8) & 0xff; |
762 | ucontrol->value.iec958.status[2] = (chip->uer_bits >> 16) & 0xff; | 762 | ucontrol->value.iec958.status[2] = (chip->uer_bits >> 16) & 0xff; |
763 | ucontrol->value.iec958.status[3] = (chip->uer_bits >> 24) & 0xff; | 763 | ucontrol->value.iec958.status[3] = (chip->uer_bits >> 24) & 0xff; |
764 | up(&chip->mixer_mutex); | 764 | mutex_unlock(&chip->mixer_mutex); |
765 | return 0; | 765 | return 0; |
766 | } | 766 | } |
767 | 767 | ||
@@ -783,14 +783,14 @@ static int vx_iec958_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_valu | |||
783 | (ucontrol->value.iec958.status[1] << 8) | | 783 | (ucontrol->value.iec958.status[1] << 8) | |
784 | (ucontrol->value.iec958.status[2] << 16) | | 784 | (ucontrol->value.iec958.status[2] << 16) | |
785 | (ucontrol->value.iec958.status[3] << 24); | 785 | (ucontrol->value.iec958.status[3] << 24); |
786 | down(&chip->mixer_mutex); | 786 | mutex_lock(&chip->mixer_mutex); |
787 | if (chip->uer_bits != val) { | 787 | if (chip->uer_bits != val) { |
788 | chip->uer_bits = val; | 788 | chip->uer_bits = val; |
789 | vx_set_iec958_status(chip, val); | 789 | vx_set_iec958_status(chip, val); |
790 | up(&chip->mixer_mutex); | 790 | mutex_unlock(&chip->mixer_mutex); |
791 | return 1; | 791 | return 1; |
792 | } | 792 | } |
793 | up(&chip->mixer_mutex); | 793 | mutex_unlock(&chip->mixer_mutex); |
794 | return 0; | 794 | return 0; |
795 | } | 795 | } |
796 | 796 | ||
diff --git a/sound/i2c/i2c.c b/sound/i2c/i2c.c index c4e1f2c23ced..edfe76fb0074 100644 --- a/sound/i2c/i2c.c +++ b/sound/i2c/i2c.c | |||
@@ -88,7 +88,7 @@ int snd_i2c_bus_create(struct snd_card *card, const char *name, | |||
88 | bus = kzalloc(sizeof(*bus), GFP_KERNEL); | 88 | bus = kzalloc(sizeof(*bus), GFP_KERNEL); |
89 | if (bus == NULL) | 89 | if (bus == NULL) |
90 | return -ENOMEM; | 90 | return -ENOMEM; |
91 | init_MUTEX(&bus->lock_mutex); | 91 | mutex_init(&bus->lock_mutex); |
92 | INIT_LIST_HEAD(&bus->devices); | 92 | INIT_LIST_HEAD(&bus->devices); |
93 | INIT_LIST_HEAD(&bus->buses); | 93 | INIT_LIST_HEAD(&bus->buses); |
94 | bus->card = card; | 94 | bus->card = card; |
diff --git a/sound/synth/emux/emux.c b/sound/synth/emux/emux.c index 7c8e328fae62..fc733bbf4487 100644 --- a/sound/synth/emux/emux.c +++ b/sound/synth/emux/emux.c | |||
@@ -45,7 +45,7 @@ int snd_emux_new(struct snd_emux **remu) | |||
45 | return -ENOMEM; | 45 | return -ENOMEM; |
46 | 46 | ||
47 | spin_lock_init(&emu->voice_lock); | 47 | spin_lock_init(&emu->voice_lock); |
48 | init_MUTEX(&emu->register_mutex); | 48 | mutex_init(&emu->register_mutex); |
49 | 49 | ||
50 | emu->client = -1; | 50 | emu->client = -1; |
51 | #ifdef CONFIG_SND_SEQUENCER_OSS | 51 | #ifdef CONFIG_SND_SEQUENCER_OSS |
diff --git a/sound/synth/emux/emux_oss.c b/sound/synth/emux/emux_oss.c index dfbfcfbe5dd2..3436816727c8 100644 --- a/sound/synth/emux/emux_oss.c +++ b/sound/synth/emux/emux_oss.c | |||
@@ -117,10 +117,10 @@ snd_emux_open_seq_oss(struct snd_seq_oss_arg *arg, void *closure) | |||
117 | emu = closure; | 117 | emu = closure; |
118 | snd_assert(arg != NULL && emu != NULL, return -ENXIO); | 118 | snd_assert(arg != NULL && emu != NULL, return -ENXIO); |
119 | 119 | ||
120 | down(&emu->register_mutex); | 120 | mutex_lock(&emu->register_mutex); |
121 | 121 | ||
122 | if (!snd_emux_inc_count(emu)) { | 122 | if (!snd_emux_inc_count(emu)) { |
123 | up(&emu->register_mutex); | 123 | mutex_unlock(&emu->register_mutex); |
124 | return -EFAULT; | 124 | return -EFAULT; |
125 | } | 125 | } |
126 | 126 | ||
@@ -134,7 +134,7 @@ snd_emux_open_seq_oss(struct snd_seq_oss_arg *arg, void *closure) | |||
134 | if (p == NULL) { | 134 | if (p == NULL) { |
135 | snd_printk("can't create port\n"); | 135 | snd_printk("can't create port\n"); |
136 | snd_emux_dec_count(emu); | 136 | snd_emux_dec_count(emu); |
137 | up(&emu->register_mutex); | 137 | mutex_unlock(&emu->register_mutex); |
138 | return -ENOMEM; | 138 | return -ENOMEM; |
139 | } | 139 | } |
140 | 140 | ||
@@ -148,7 +148,7 @@ snd_emux_open_seq_oss(struct snd_seq_oss_arg *arg, void *closure) | |||
148 | 148 | ||
149 | snd_emux_reset_port(p); | 149 | snd_emux_reset_port(p); |
150 | 150 | ||
151 | up(&emu->register_mutex); | 151 | mutex_unlock(&emu->register_mutex); |
152 | return 0; | 152 | return 0; |
153 | } | 153 | } |
154 | 154 | ||
@@ -191,13 +191,13 @@ snd_emux_close_seq_oss(struct snd_seq_oss_arg *arg) | |||
191 | emu = p->emu; | 191 | emu = p->emu; |
192 | snd_assert(emu != NULL, return -ENXIO); | 192 | snd_assert(emu != NULL, return -ENXIO); |
193 | 193 | ||
194 | down(&emu->register_mutex); | 194 | mutex_lock(&emu->register_mutex); |
195 | snd_emux_sounds_off_all(p); | 195 | snd_emux_sounds_off_all(p); |
196 | snd_soundfont_close_check(emu->sflist, SF_CLIENT_NO(p->chset.port)); | 196 | snd_soundfont_close_check(emu->sflist, SF_CLIENT_NO(p->chset.port)); |
197 | snd_seq_event_port_detach(p->chset.client, p->chset.port); | 197 | snd_seq_event_port_detach(p->chset.client, p->chset.port); |
198 | snd_emux_dec_count(emu); | 198 | snd_emux_dec_count(emu); |
199 | 199 | ||
200 | up(&emu->register_mutex); | 200 | mutex_unlock(&emu->register_mutex); |
201 | return 0; | 201 | return 0; |
202 | } | 202 | } |
203 | 203 | ||
diff --git a/sound/synth/emux/emux_proc.c b/sound/synth/emux/emux_proc.c index a70a179f6947..1ba68ce30279 100644 --- a/sound/synth/emux/emux_proc.c +++ b/sound/synth/emux/emux_proc.c | |||
@@ -37,7 +37,7 @@ snd_emux_proc_info_read(struct snd_info_entry *entry, | |||
37 | int i; | 37 | int i; |
38 | 38 | ||
39 | emu = entry->private_data; | 39 | emu = entry->private_data; |
40 | down(&emu->register_mutex); | 40 | mutex_lock(&emu->register_mutex); |
41 | if (emu->name) | 41 | if (emu->name) |
42 | snd_iprintf(buf, "Device: %s\n", emu->name); | 42 | snd_iprintf(buf, "Device: %s\n", emu->name); |
43 | snd_iprintf(buf, "Ports: %d\n", emu->num_ports); | 43 | snd_iprintf(buf, "Ports: %d\n", emu->num_ports); |
@@ -56,13 +56,13 @@ snd_emux_proc_info_read(struct snd_info_entry *entry, | |||
56 | snd_iprintf(buf, "Memory Size: 0\n"); | 56 | snd_iprintf(buf, "Memory Size: 0\n"); |
57 | } | 57 | } |
58 | if (emu->sflist) { | 58 | if (emu->sflist) { |
59 | down(&emu->sflist->presets_mutex); | 59 | mutex_lock(&emu->sflist->presets_mutex); |
60 | snd_iprintf(buf, "SoundFonts: %d\n", emu->sflist->fonts_size); | 60 | snd_iprintf(buf, "SoundFonts: %d\n", emu->sflist->fonts_size); |
61 | snd_iprintf(buf, "Instruments: %d\n", emu->sflist->zone_counter); | 61 | snd_iprintf(buf, "Instruments: %d\n", emu->sflist->zone_counter); |
62 | snd_iprintf(buf, "Samples: %d\n", emu->sflist->sample_counter); | 62 | snd_iprintf(buf, "Samples: %d\n", emu->sflist->sample_counter); |
63 | snd_iprintf(buf, "Locked Instruments: %d\n", emu->sflist->zone_locked); | 63 | snd_iprintf(buf, "Locked Instruments: %d\n", emu->sflist->zone_locked); |
64 | snd_iprintf(buf, "Locked Samples: %d\n", emu->sflist->sample_locked); | 64 | snd_iprintf(buf, "Locked Samples: %d\n", emu->sflist->sample_locked); |
65 | up(&emu->sflist->presets_mutex); | 65 | mutex_unlock(&emu->sflist->presets_mutex); |
66 | } | 66 | } |
67 | #if 0 /* debug */ | 67 | #if 0 /* debug */ |
68 | if (emu->voices[0].state != SNDRV_EMUX_ST_OFF && emu->voices[0].ch >= 0) { | 68 | if (emu->voices[0].state != SNDRV_EMUX_ST_OFF && emu->voices[0].ch >= 0) { |
@@ -103,7 +103,7 @@ snd_emux_proc_info_read(struct snd_info_entry *entry, | |||
103 | snd_iprintf(buf, "sample_mode=%x, rate=%x\n", vp->reg.sample_mode, vp->reg.rate_offset); | 103 | snd_iprintf(buf, "sample_mode=%x, rate=%x\n", vp->reg.sample_mode, vp->reg.rate_offset); |
104 | } | 104 | } |
105 | #endif | 105 | #endif |
106 | up(&emu->register_mutex); | 106 | mutex_unlock(&emu->register_mutex); |
107 | } | 107 | } |
108 | 108 | ||
109 | 109 | ||
diff --git a/sound/synth/emux/emux_seq.c b/sound/synth/emux/emux_seq.c index 1a973d7a90f8..8f00f07701c4 100644 --- a/sound/synth/emux/emux_seq.c +++ b/sound/synth/emux/emux_seq.c | |||
@@ -123,12 +123,12 @@ snd_emux_detach_seq(struct snd_emux *emu) | |||
123 | if (emu->voices) | 123 | if (emu->voices) |
124 | snd_emux_terminate_all(emu); | 124 | snd_emux_terminate_all(emu); |
125 | 125 | ||
126 | down(&emu->register_mutex); | 126 | mutex_lock(&emu->register_mutex); |
127 | if (emu->client >= 0) { | 127 | if (emu->client >= 0) { |
128 | snd_seq_delete_kernel_client(emu->client); | 128 | snd_seq_delete_kernel_client(emu->client); |
129 | emu->client = -1; | 129 | emu->client = -1; |
130 | } | 130 | } |
131 | up(&emu->register_mutex); | 131 | mutex_unlock(&emu->register_mutex); |
132 | } | 132 | } |
133 | 133 | ||
134 | 134 | ||
@@ -311,10 +311,10 @@ snd_emux_use(void *private_data, struct snd_seq_port_subscribe *info) | |||
311 | emu = p->emu; | 311 | emu = p->emu; |
312 | snd_assert(emu != NULL, return -EINVAL); | 312 | snd_assert(emu != NULL, return -EINVAL); |
313 | 313 | ||
314 | down(&emu->register_mutex); | 314 | mutex_lock(&emu->register_mutex); |
315 | snd_emux_init_port(p); | 315 | snd_emux_init_port(p); |
316 | snd_emux_inc_count(emu); | 316 | snd_emux_inc_count(emu); |
317 | up(&emu->register_mutex); | 317 | mutex_unlock(&emu->register_mutex); |
318 | return 0; | 318 | return 0; |
319 | } | 319 | } |
320 | 320 | ||
@@ -332,10 +332,10 @@ snd_emux_unuse(void *private_data, struct snd_seq_port_subscribe *info) | |||
332 | emu = p->emu; | 332 | emu = p->emu; |
333 | snd_assert(emu != NULL, return -EINVAL); | 333 | snd_assert(emu != NULL, return -EINVAL); |
334 | 334 | ||
335 | down(&emu->register_mutex); | 335 | mutex_lock(&emu->register_mutex); |
336 | snd_emux_sounds_off_all(p); | 336 | snd_emux_sounds_off_all(p); |
337 | snd_emux_dec_count(emu); | 337 | snd_emux_dec_count(emu); |
338 | up(&emu->register_mutex); | 338 | mutex_unlock(&emu->register_mutex); |
339 | return 0; | 339 | return 0; |
340 | } | 340 | } |
341 | 341 | ||
diff --git a/sound/synth/emux/soundfont.c b/sound/synth/emux/soundfont.c index 4c5754d4a2e8..32c27162dfb6 100644 --- a/sound/synth/emux/soundfont.c +++ b/sound/synth/emux/soundfont.c | |||
@@ -79,7 +79,7 @@ static void | |||
79 | lock_preset(struct snd_sf_list *sflist) | 79 | lock_preset(struct snd_sf_list *sflist) |
80 | { | 80 | { |
81 | unsigned long flags; | 81 | unsigned long flags; |
82 | down(&sflist->presets_mutex); | 82 | mutex_lock(&sflist->presets_mutex); |
83 | spin_lock_irqsave(&sflist->lock, flags); | 83 | spin_lock_irqsave(&sflist->lock, flags); |
84 | sflist->presets_locked = 1; | 84 | sflist->presets_locked = 1; |
85 | spin_unlock_irqrestore(&sflist->lock, flags); | 85 | spin_unlock_irqrestore(&sflist->lock, flags); |
@@ -96,7 +96,7 @@ unlock_preset(struct snd_sf_list *sflist) | |||
96 | spin_lock_irqsave(&sflist->lock, flags); | 96 | spin_lock_irqsave(&sflist->lock, flags); |
97 | sflist->presets_locked = 0; | 97 | sflist->presets_locked = 0; |
98 | spin_unlock_irqrestore(&sflist->lock, flags); | 98 | spin_unlock_irqrestore(&sflist->lock, flags); |
99 | up(&sflist->presets_mutex); | 99 | mutex_unlock(&sflist->presets_mutex); |
100 | } | 100 | } |
101 | 101 | ||
102 | 102 | ||
@@ -1390,7 +1390,7 @@ snd_sf_new(struct snd_sf_callback *callback, struct snd_util_memhdr *hdr) | |||
1390 | if ((sflist = kzalloc(sizeof(*sflist), GFP_KERNEL)) == NULL) | 1390 | if ((sflist = kzalloc(sizeof(*sflist), GFP_KERNEL)) == NULL) |
1391 | return NULL; | 1391 | return NULL; |
1392 | 1392 | ||
1393 | init_MUTEX(&sflist->presets_mutex); | 1393 | mutex_init(&sflist->presets_mutex); |
1394 | spin_lock_init(&sflist->lock); | 1394 | spin_lock_init(&sflist->lock); |
1395 | sflist->memhdr = hdr; | 1395 | sflist->memhdr = hdr; |
1396 | 1396 | ||
diff --git a/sound/synth/util_mem.c b/sound/synth/util_mem.c index 217e8e552a42..1d9b11f345f8 100644 --- a/sound/synth/util_mem.c +++ b/sound/synth/util_mem.c | |||
@@ -18,6 +18,7 @@ | |||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #include <linux/mutex.h> | ||
21 | #include <sound/driver.h> | 22 | #include <sound/driver.h> |
22 | #include <linux/init.h> | 23 | #include <linux/init.h> |
23 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
@@ -42,7 +43,7 @@ snd_util_memhdr_new(int memsize) | |||
42 | if (hdr == NULL) | 43 | if (hdr == NULL) |
43 | return NULL; | 44 | return NULL; |
44 | hdr->size = memsize; | 45 | hdr->size = memsize; |
45 | init_MUTEX(&hdr->block_mutex); | 46 | mutex_init(&hdr->block_mutex); |
46 | INIT_LIST_HEAD(&hdr->block); | 47 | INIT_LIST_HEAD(&hdr->block); |
47 | 48 | ||
48 | return hdr; | 49 | return hdr; |
@@ -136,9 +137,9 @@ struct snd_util_memblk * | |||
136 | snd_util_mem_alloc(struct snd_util_memhdr *hdr, int size) | 137 | snd_util_mem_alloc(struct snd_util_memhdr *hdr, int size) |
137 | { | 138 | { |
138 | struct snd_util_memblk *blk; | 139 | struct snd_util_memblk *blk; |
139 | down(&hdr->block_mutex); | 140 | mutex_lock(&hdr->block_mutex); |
140 | blk = __snd_util_mem_alloc(hdr, size); | 141 | blk = __snd_util_mem_alloc(hdr, size); |
141 | up(&hdr->block_mutex); | 142 | mutex_unlock(&hdr->block_mutex); |
142 | return blk; | 143 | return blk; |
143 | } | 144 | } |
144 | 145 | ||
@@ -163,9 +164,9 @@ int snd_util_mem_free(struct snd_util_memhdr *hdr, struct snd_util_memblk *blk) | |||
163 | { | 164 | { |
164 | snd_assert(hdr && blk, return -EINVAL); | 165 | snd_assert(hdr && blk, return -EINVAL); |
165 | 166 | ||
166 | down(&hdr->block_mutex); | 167 | mutex_lock(&hdr->block_mutex); |
167 | __snd_util_mem_free(hdr, blk); | 168 | __snd_util_mem_free(hdr, blk); |
168 | up(&hdr->block_mutex); | 169 | mutex_unlock(&hdr->block_mutex); |
169 | return 0; | 170 | return 0; |
170 | } | 171 | } |
171 | 172 | ||
@@ -175,9 +176,9 @@ int snd_util_mem_free(struct snd_util_memhdr *hdr, struct snd_util_memblk *blk) | |||
175 | int snd_util_mem_avail(struct snd_util_memhdr *hdr) | 176 | int snd_util_mem_avail(struct snd_util_memhdr *hdr) |
176 | { | 177 | { |
177 | unsigned int size; | 178 | unsigned int size; |
178 | down(&hdr->block_mutex); | 179 | mutex_lock(&hdr->block_mutex); |
179 | size = hdr->size - hdr->used; | 180 | size = hdr->size - hdr->used; |
180 | up(&hdr->block_mutex); | 181 | mutex_unlock(&hdr->block_mutex); |
181 | return size; | 182 | return size; |
182 | } | 183 | } |
183 | 184 | ||