aboutsummaryrefslogtreecommitdiffstats
path: root/sound/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'sound/drivers')
-rw-r--r--sound/drivers/opl3/opl3_lib.c2
-rw-r--r--sound/drivers/opl3/opl3_seq.c10
-rw-r--r--sound/drivers/opl3/opl3_synth.c10
-rw-r--r--sound/drivers/opl4/opl4_lib.c2
-rw-r--r--sound/drivers/opl4/opl4_local.h2
-rw-r--r--sound/drivers/opl4/opl4_proc.c10
-rw-r--r--sound/drivers/opl4/opl4_seq.c12
-rw-r--r--sound/drivers/vx/vx_core.c2
-rw-r--r--sound/drivers/vx/vx_mixer.c72
9 files changed, 61 insertions, 61 deletions
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
99static int snd_opl3_synth_use(void *private_data, struct snd_seq_port_subscribe * info) 99static 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
502static int vx_audio_src_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) 502static 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_
550static int vx_clock_mode_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value *ucontrol) 550static 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