[ALSA] This patch removes open_mutex from the ad1848-lib as
authorKrzysztof Helt <krzysztof.h1@wp.pl>
Tue, 16 Oct 2007 12:54:14 +0000 (14:54 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 16 Oct 2007 14:51:26 +0000 (16:51 +0200)
open and close operations are called only from pcm layer
and mutexed there with pcm->open_mutex.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
include/sound/ad1848.h
sound/isa/ad1848/ad1848_lib.c

index b00eb61..d04f9e7 100644 (file)
@@ -154,7 +154,6 @@ struct snd_ad1848 {
 #endif
 
        spinlock_t reg_lock;
-       struct mutex open_mutex;
 };
 
 /* exported functions */
index 31209e1..a901cd1 100644 (file)
@@ -378,11 +378,9 @@ static int snd_ad1848_open(struct snd_ad1848 *chip, unsigned int mode)
 {
        unsigned long flags;
 
-       mutex_lock(&chip->open_mutex);
-       if (chip->mode & AD1848_MODE_OPEN) {
-               mutex_unlock(&chip->open_mutex);
+       if (chip->mode & AD1848_MODE_OPEN)
                return -EAGAIN;
-       }
+
        snd_ad1848_mce_down(chip);
 
 #ifdef SNDRV_DEBUG_MCE
@@ -423,7 +421,6 @@ static int snd_ad1848_open(struct snd_ad1848 *chip, unsigned int mode)
        spin_unlock_irqrestore(&chip->reg_lock, flags);
 
        chip->mode = mode;
-       mutex_unlock(&chip->open_mutex);
 
        return 0;
 }
@@ -432,11 +429,8 @@ static void snd_ad1848_close(struct snd_ad1848 *chip)
 {
        unsigned long flags;
 
-       mutex_lock(&chip->open_mutex);
-       if (!chip->mode) {
-               mutex_unlock(&chip->open_mutex);
+       if (!chip->mode)
                return;
-       }
        /* disable IRQ */
        spin_lock_irqsave(&chip->reg_lock, flags);
        outb(0, AD1848P(chip, STATUS)); /* clear IRQ */
@@ -462,7 +456,6 @@ static void snd_ad1848_close(struct snd_ad1848 *chip)
        spin_unlock_irqrestore(&chip->reg_lock, flags);
 
        chip->mode = 0;
-       mutex_unlock(&chip->open_mutex);
 }
 
 /*
@@ -880,7 +873,6 @@ int snd_ad1848_create(struct snd_card *card,
        if (chip == NULL)
                return -ENOMEM;
        spin_lock_init(&chip->reg_lock);
-       mutex_init(&chip->open_mutex);
        chip->card = card;
        chip->port = port;
        chip->irq = -1;