ALSA: cs5535audio: 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> Link: https://patch.msgid.link/20250829144342.4290-22-tiwai@suse.depull/476/head
parent
0ba9da2d6f
commit
e8eca9fec2
|
|
@ -176,9 +176,10 @@ static int snd_cs5535audio_mixer(struct cs5535audio *cs5535au)
|
||||||
static void process_bm0_irq(struct cs5535audio *cs5535au)
|
static void process_bm0_irq(struct cs5535audio *cs5535au)
|
||||||
{
|
{
|
||||||
u8 bm_stat;
|
u8 bm_stat;
|
||||||
spin_lock(&cs5535au->reg_lock);
|
|
||||||
bm_stat = cs_readb(cs5535au, ACC_BM0_STATUS);
|
scoped_guard(spinlock, &cs5535au->reg_lock) {
|
||||||
spin_unlock(&cs5535au->reg_lock);
|
bm_stat = cs_readb(cs5535au, ACC_BM0_STATUS);
|
||||||
|
}
|
||||||
if (bm_stat & EOP) {
|
if (bm_stat & EOP) {
|
||||||
snd_pcm_period_elapsed(cs5535au->playback_substream);
|
snd_pcm_period_elapsed(cs5535au->playback_substream);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -191,9 +192,10 @@ static void process_bm0_irq(struct cs5535audio *cs5535au)
|
||||||
static void process_bm1_irq(struct cs5535audio *cs5535au)
|
static void process_bm1_irq(struct cs5535audio *cs5535au)
|
||||||
{
|
{
|
||||||
u8 bm_stat;
|
u8 bm_stat;
|
||||||
spin_lock(&cs5535au->reg_lock);
|
|
||||||
bm_stat = cs_readb(cs5535au, ACC_BM1_STATUS);
|
scoped_guard(spinlock, &cs5535au->reg_lock) {
|
||||||
spin_unlock(&cs5535au->reg_lock);
|
bm_stat = cs_readb(cs5535au, ACC_BM1_STATUS);
|
||||||
|
}
|
||||||
if (bm_stat & EOP)
|
if (bm_stat & EOP)
|
||||||
snd_pcm_period_elapsed(cs5535au->capture_substream);
|
snd_pcm_period_elapsed(cs5535au->capture_substream);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -150,10 +150,9 @@ static int cs5535audio_build_dma_packets(struct cs5535audio *cs5535au,
|
||||||
dma->substream = substream;
|
dma->substream = substream;
|
||||||
dma->period_bytes = period_bytes;
|
dma->period_bytes = period_bytes;
|
||||||
dma->periods = periods;
|
dma->periods = periods;
|
||||||
spin_lock_irq(&cs5535au->reg_lock);
|
guard(spinlock_irq)(&cs5535au->reg_lock);
|
||||||
dma->ops->disable_dma(cs5535au);
|
dma->ops->disable_dma(cs5535au);
|
||||||
dma->ops->setup_prd(cs5535au, jmpprd_addr);
|
dma->ops->setup_prd(cs5535au, jmpprd_addr);
|
||||||
spin_unlock_irq(&cs5535au->reg_lock);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -276,9 +275,8 @@ static int snd_cs5535audio_trigger(struct snd_pcm_substream *substream, int cmd)
|
||||||
{
|
{
|
||||||
struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream);
|
struct cs5535audio *cs5535au = snd_pcm_substream_chip(substream);
|
||||||
struct cs5535audio_dma *dma = substream->runtime->private_data;
|
struct cs5535audio_dma *dma = substream->runtime->private_data;
|
||||||
int err = 0;
|
|
||||||
|
|
||||||
spin_lock(&cs5535au->reg_lock);
|
guard(spinlock)(&cs5535au->reg_lock);
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
|
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
|
||||||
dma->ops->pause_dma(cs5535au);
|
dma->ops->pause_dma(cs5535au);
|
||||||
|
|
@ -300,11 +298,9 @@ static int snd_cs5535audio_trigger(struct snd_pcm_substream *substream, int cmd)
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
dev_err(cs5535au->card->dev, "unhandled trigger\n");
|
dev_err(cs5535au->card->dev, "unhandled trigger\n");
|
||||||
err = -EINVAL;
|
return -EINVAL;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
spin_unlock(&cs5535au->reg_lock);
|
return 0;
|
||||||
return err;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static snd_pcm_uframes_t snd_cs5535audio_pcm_pointer(struct snd_pcm_substream
|
static snd_pcm_uframes_t snd_cs5535audio_pcm_pointer(struct snd_pcm_substream
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue