linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / sound / pci / emu10k1 / emu10k1_main.c
index 6bfa084..4faea37 100644 (file)
@@ -36,8 +36,6 @@
 #include <linux/pci.h>
 #include <linux/slab.h>
 #include <linux/vmalloc.h>
-#include <linux/mutex.h>
-
 
 #include <sound/core.h>
 #include <sound/emu10k1.h>
@@ -777,14 +775,6 @@ static int snd_emu10k1_dev_free(struct snd_device *device)
 
 static struct snd_emu_chip_details emu_chip_details[] = {
        /* Audigy 2 Value AC3 out does not work yet. Need to find out how to turn off interpolators.*/
-       /* Audigy4 SB0400 */
-       {.vendor = 0x1102, .device = 0x0008, .subsystem = 0x10211102,
-        .driver = "Audigy2", .name = "Audigy 4 [SB0400]", 
-        .id = "Audigy2",
-        .emu10k2_chip = 1,
-        .ca0108_chip = 1,
-        .spk71 = 1,
-        .ac97_chip = 1} ,
        /* Tested by James@superbug.co.uk 3rd July 2005 */
        /* DSP: CA0108-IAT
         * DAC: CS4382-KQ
@@ -843,11 +833,8 @@ static struct snd_emu_chip_details emu_chip_details[] = {
         .spdif_bug = 1,
         .ac97_chip = 1} ,
        /* Tested by shane-alsa@cm.nu 5th Nov 2005 */
-       /* The 0x20061102 does have SB0350 written on it
-        * Just like 0x20021102
-        */
        {.vendor = 0x1102, .device = 0x0004, .subsystem = 0x20061102,
-        .driver = "Audigy2", .name = "Audigy 2 [SB0350b]", 
+        .driver = "Audigy2", .name = "Audigy 2 [2006]", 
         .id = "Audigy2",
         .emu10k2_chip = 1,
         .ca0102_chip = 1,
@@ -1110,7 +1097,8 @@ int __devinit snd_emu10k1_create(struct snd_card *card,
        spin_lock_init(&emu->voice_lock);
        spin_lock_init(&emu->synth_lock);
        spin_lock_init(&emu->memblk_lock);
-       mutex_init(&emu->fx8010.lock);
+       init_MUTEX(&emu->ptb_lock);
+       init_MUTEX(&emu->fx8010.lock);
        INIT_LIST_HEAD(&emu->mapped_link_head);
        INIT_LIST_HEAD(&emu->mapped_order_link_head);
        emu->pci = pci;
@@ -1407,8 +1395,8 @@ void snd_emu10k1_resume_regs(struct snd_emu10k1 *emu)
 
        /* resore for spdif */
        if (emu->audigy)
-               outl(emu->port + A_IOCFG, emu->saved_a_iocfg);
-       outl(emu->port + HCFG, emu->saved_hcfg);
+               outl(emu->saved_a_iocfg, emu->port + A_IOCFG);
+       outl(emu->saved_hcfg, emu->port + HCFG);
 
        val = emu->saved_ptr;
        for (reg = saved_regs; *reg != 0xff; reg++)