]> www.infradead.org Git - users/hch/misc.git/commitdiff
ALSA: wss: Use guard() for mutex locks
authorTakashi Iwai <tiwai@suse.de>
Fri, 29 Aug 2025 14:52:56 +0000 (16:52 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 1 Sep 2025 11:53:02 +0000 (13:53 +0200)
Replace the manual mutex lock/unlock pairs with guard() for code
simplification.

Only code refactoring, and no behavior change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20250829145300.5460-17-tiwai@suse.de
sound/isa/wss/wss_lib.c

index 1b6a80021d182967e221e378e6c620310f2ade85..0a2c040af5f0ff498a87cefb3e7a63bcf759ac96 100644 (file)
@@ -618,7 +618,7 @@ static void snd_wss_playback_format(struct snd_wss *chip,
        unsigned long flags;
        int full_calib = 1;
 
-       mutex_lock(&chip->mce_mutex);
+       guard(mutex)(&chip->mce_mutex);
        if (chip->hardware == WSS_HW_CS4231A ||
            (chip->hardware & WSS_HW_CS4232_MASK)) {
                spin_lock_irqsave(&chip->reg_lock, flags);
@@ -669,7 +669,6 @@ static void snd_wss_playback_format(struct snd_wss *chip,
                        udelay(100);    /* this seems to help */
                snd_wss_mce_down(chip);
        }
-       mutex_unlock(&chip->mce_mutex);
 }
 
 static void snd_wss_capture_format(struct snd_wss *chip,
@@ -679,7 +678,7 @@ static void snd_wss_capture_format(struct snd_wss *chip,
        unsigned long flags;
        int full_calib = 1;
 
-       mutex_lock(&chip->mce_mutex);
+       guard(mutex)(&chip->mce_mutex);
        if (chip->hardware == WSS_HW_CS4231A ||
            (chip->hardware & WSS_HW_CS4232_MASK)) {
                spin_lock_irqsave(&chip->reg_lock, flags);
@@ -736,7 +735,6 @@ static void snd_wss_capture_format(struct snd_wss *chip,
                spin_unlock_irqrestore(&chip->reg_lock, flags);
                snd_wss_mce_down(chip);
        }
-       mutex_unlock(&chip->mce_mutex);
 }
 
 /*
@@ -862,15 +860,12 @@ static int snd_wss_open(struct snd_wss *chip, unsigned int mode)
 {
        unsigned long flags;
 
-       mutex_lock(&chip->open_mutex);
+       guard(mutex)(&chip->open_mutex);
        if ((chip->mode & mode) ||
-           ((chip->mode & WSS_MODE_OPEN) && chip->single_dma)) {
-               mutex_unlock(&chip->open_mutex);
+           ((chip->mode & WSS_MODE_OPEN) && chip->single_dma))
                return -EAGAIN;
-       }
        if (chip->mode & WSS_MODE_OPEN) {
                chip->mode |= mode;
-               mutex_unlock(&chip->open_mutex);
                return 0;
        }
        /* ok. now enable and ack CODEC IRQ */
@@ -896,7 +891,6 @@ static int snd_wss_open(struct snd_wss *chip, unsigned int mode)
        spin_unlock_irqrestore(&chip->reg_lock, flags);
 
        chip->mode = mode;
-       mutex_unlock(&chip->open_mutex);
        return 0;
 }
 
@@ -904,12 +898,10 @@ static void snd_wss_close(struct snd_wss *chip, unsigned int mode)
 {
        unsigned long flags;
 
-       mutex_lock(&chip->open_mutex);
+       guard(mutex)(&chip->open_mutex);
        chip->mode &= ~mode;
-       if (chip->mode & WSS_MODE_OPEN) {
-               mutex_unlock(&chip->open_mutex);
+       if (chip->mode & WSS_MODE_OPEN)
                return;
-       }
        /* disable IRQ */
        spin_lock_irqsave(&chip->reg_lock, flags);
        if (!(chip->hardware & WSS_HW_AD1848_MASK))
@@ -943,7 +935,6 @@ static void snd_wss_close(struct snd_wss *chip, unsigned int mode)
        spin_unlock_irqrestore(&chip->reg_lock, flags);
 
        chip->mode = 0;
-       mutex_unlock(&chip->open_mutex);
 }
 
 /*