ALSA: spi/at73c213: Use guard() for spin locks

Clean up the code using guard() for spin locks.

Merely code refactoring, and no behavior change.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Takashi Iwai 2025-09-17 13:12:49 +02:00
parent 9fc4a3da9a
commit 7e18682bdb
1 changed files with 21 additions and 25 deletions

View File

@ -273,9 +273,8 @@ static int snd_at73c213_pcm_trigger(struct snd_pcm_substream *substream,
int cmd)
{
struct snd_at73c213 *chip = snd_pcm_substream_chip(substream);
int retval = 0;
spin_lock(&chip->lock);
guard(spinlock)(&chip->lock);
switch (cmd) {
case SNDRV_PCM_TRIGGER_START:
@ -288,13 +287,11 @@ static int snd_at73c213_pcm_trigger(struct snd_pcm_substream *substream,
break;
default:
dev_dbg(&chip->spi->dev, "spurious command %x\n", cmd);
retval = -EINVAL;
return -EINVAL;
break;
}
spin_unlock(&chip->lock);
return retval;
return 0;
}
static snd_pcm_uframes_t
@ -358,31 +355,30 @@ static irqreturn_t snd_at73c213_interrupt(int irq, void *dev_id)
int next_period;
int retval = IRQ_NONE;
spin_lock(&chip->lock);
scoped_guard(spinlock, &chip->lock) {
block_size = frames_to_bytes(runtime, runtime->period_size);
status = ssc_readl(chip->ssc->regs, IMR);
block_size = frames_to_bytes(runtime, runtime->period_size);
status = ssc_readl(chip->ssc->regs, IMR);
if (status & SSC_BIT(IMR_ENDTX)) {
chip->period++;
if (chip->period == runtime->periods)
chip->period = 0;
next_period = chip->period + 1;
if (next_period == runtime->periods)
next_period = 0;
if (status & SSC_BIT(IMR_ENDTX)) {
chip->period++;
if (chip->period == runtime->periods)
chip->period = 0;
next_period = chip->period + 1;
if (next_period == runtime->periods)
next_period = 0;
offset = block_size * next_period;
offset = block_size * next_period;
ssc_writel(chip->ssc->regs, PDC_TNPR,
(long)runtime->dma_addr + offset);
ssc_writel(chip->ssc->regs, PDC_TNCR,
runtime->period_size * runtime->channels);
retval = IRQ_HANDLED;
}
ssc_writel(chip->ssc->regs, PDC_TNPR,
(long)runtime->dma_addr + offset);
ssc_writel(chip->ssc->regs, PDC_TNCR,
runtime->period_size * runtime->channels);
retval = IRQ_HANDLED;
ssc_readl(chip->ssc->regs, IMR);
}
ssc_readl(chip->ssc->regs, IMR);
spin_unlock(&chip->lock);
if (status & SSC_BIT(IMR_ENDTX))
snd_pcm_period_elapsed(chip->substream);