mirror of https://gitee.com/openkylin/linux.git
[ALSA] This patch removes open_mutex from the ad1848-lib as
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>
This commit is contained in:
parent
c2cbdbb158
commit
ca2df45a07
|
@ -154,7 +154,6 @@ struct snd_ad1848 {
|
|||
#endif
|
||||
|
||||
spinlock_t reg_lock;
|
||||
struct mutex open_mutex;
|
||||
};
|
||||
|
||||
/* exported functions */
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue