]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ALSA: als300: Use guard() for spin locks
authorTakashi Iwai <tiwai@suse.de>
Fri, 29 Aug 2025 14:42:42 +0000 (16:42 +0200)
committerTakashi Iwai <tiwai@suse.de>
Mon, 1 Sep 2025 11:52:38 +0000 (13:52 +0200)
Clean up the code using guard() for spin locks.

Merely code refactoring, and no behavior change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Link: https://patch.msgid.link/20250829144342.4290-8-tiwai@suse.de
sound/pci/als300.c

index f9e8424dc77f87742dae47f7da042239a700cd05..733e84def5a709ae56caee9fec8f279ae80116d3 100644 (file)
@@ -402,7 +402,7 @@ static int snd_als300_playback_prepare(struct snd_pcm_substream *substream)
        unsigned short period_bytes = snd_pcm_lib_period_bytes(substream);
        unsigned short buffer_bytes = snd_pcm_lib_buffer_bytes(substream);
        
-       spin_lock_irq(&chip->reg_lock);
+       guard(spinlock_irq)(&chip->reg_lock);
        tmp = snd_als300_gcr_read(chip->port, PLAYBACK_CONTROL);
        tmp &= ~TRANSFER_START;
 
@@ -419,7 +419,6 @@ static int snd_als300_playback_prepare(struct snd_pcm_substream *substream)
                                        runtime->dma_addr);
        snd_als300_gcr_write(chip->port, PLAYBACK_END,
                                        runtime->dma_addr + buffer_bytes - 1);
-       spin_unlock_irq(&chip->reg_lock);
        return 0;
 }
 
@@ -431,7 +430,7 @@ static int snd_als300_capture_prepare(struct snd_pcm_substream *substream)
        unsigned short period_bytes = snd_pcm_lib_period_bytes(substream);
        unsigned short buffer_bytes = snd_pcm_lib_buffer_bytes(substream);
 
-       spin_lock_irq(&chip->reg_lock);
+       guard(spinlock_irq)(&chip->reg_lock);
        tmp = snd_als300_gcr_read(chip->port, RECORD_CONTROL);
        tmp &= ~TRANSFER_START;
 
@@ -448,7 +447,6 @@ static int snd_als300_capture_prepare(struct snd_pcm_substream *substream)
                                        runtime->dma_addr);
        snd_als300_gcr_write(chip->port, RECORD_END,
                                        runtime->dma_addr + buffer_bytes - 1);
-       spin_unlock_irq(&chip->reg_lock);
        return 0;
 }
 
@@ -463,7 +461,7 @@ static int snd_als300_trigger(struct snd_pcm_substream *substream, int cmd)
        data = substream->runtime->private_data;
        reg = data->control_register;
 
-       spin_lock(&chip->reg_lock);
+       guard(spinlock)(&chip->reg_lock);
        switch (cmd) {
        case SNDRV_PCM_TRIGGER_START:
        case SNDRV_PCM_TRIGGER_RESUME:
@@ -492,7 +490,6 @@ static int snd_als300_trigger(struct snd_pcm_substream *substream, int cmd)
                snd_als300_dbgplay("TRIGGER INVALID\n");
                ret = -EINVAL;
        }
-       spin_unlock(&chip->reg_lock);
        return ret;
 }
 
@@ -506,10 +503,10 @@ static snd_pcm_uframes_t snd_als300_pointer(struct snd_pcm_substream *substream)
        data = substream->runtime->private_data;
        period_bytes = snd_pcm_lib_period_bytes(substream);
        
-       spin_lock(&chip->reg_lock);
-       current_ptr = (u16) snd_als300_gcr_read(chip->port,
-                                       data->block_counter_register) + 4;
-       spin_unlock(&chip->reg_lock);
+       scoped_guard(spinlock, &chip->reg_lock) {
+               current_ptr = (u16) snd_als300_gcr_read(chip->port,
+                                                       data->block_counter_register) + 4;
+       }
        if (current_ptr > period_bytes)
                current_ptr = 0;
        else
@@ -563,10 +560,9 @@ static int snd_als300_new_pcm(struct snd_als300 *chip)
 
 static void snd_als300_init(struct snd_als300 *chip)
 {
-       unsigned long flags;
        u32 tmp;
        
-       spin_lock_irqsave(&chip->reg_lock, flags);
+       guard(spinlock_irqsave)(&chip->reg_lock);
        chip->revision = (snd_als300_gcr_read(chip->port, MISC_CONTROL) >> 16)
                                                                & 0x0000000F;
        /* Setup DRAM */
@@ -591,7 +587,6 @@ static void snd_als300_init(struct snd_als300 *chip)
        tmp = snd_als300_gcr_read(chip->port, PLAYBACK_CONTROL);
        snd_als300_gcr_write(chip->port, PLAYBACK_CONTROL,
                        tmp & ~TRANSFER_START);
-       spin_unlock_irqrestore(&chip->reg_lock, flags);
 }
 
 static int snd_als300_create(struct snd_card *card,