mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
ASoC: img: img-spdif-out: Use guard() for spin locks
Clean up the code using guard() for spin locks. Merely code refactoring, and no behavior change. Signed-off-by: bui duc phuc <phucduc.bui@gmail.com> Link: https://patch.msgid.link/20260610104524.87166-3-phucduc.bui@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
131e13f35f
commit
4fbf9d7a1c
|
|
@ -135,9 +135,8 @@ static int img_spdif_out_get_status(struct snd_kcontrol *kcontrol,
|
|||
struct snd_soc_dai *cpu_dai = snd_kcontrol_chip(kcontrol);
|
||||
struct img_spdif_out *spdif = snd_soc_dai_get_drvdata(cpu_dai);
|
||||
u32 reg;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(&spdif->lock, flags);
|
||||
guard(spinlock_irqsave)(&spdif->lock);
|
||||
|
||||
reg = img_spdif_out_readl(spdif, IMG_SPDIF_OUT_CSL);
|
||||
ucontrol->value.iec958.status[0] = reg & 0xff;
|
||||
|
|
@ -150,8 +149,6 @@ static int img_spdif_out_get_status(struct snd_kcontrol *kcontrol,
|
|||
(reg & IMG_SPDIF_OUT_CSH_UV_CSH_MASK) >>
|
||||
IMG_SPDIF_OUT_CSH_UV_CSH_SHIFT;
|
||||
|
||||
spin_unlock_irqrestore(&spdif->lock, flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -161,14 +158,13 @@ static int img_spdif_out_set_status(struct snd_kcontrol *kcontrol,
|
|||
struct snd_soc_dai *cpu_dai = snd_kcontrol_chip(kcontrol);
|
||||
struct img_spdif_out *spdif = snd_soc_dai_get_drvdata(cpu_dai);
|
||||
u32 reg;
|
||||
unsigned long flags;
|
||||
|
||||
reg = ((u32)ucontrol->value.iec958.status[3] << 24);
|
||||
reg |= ((u32)ucontrol->value.iec958.status[2] << 16);
|
||||
reg |= ((u32)ucontrol->value.iec958.status[1] << 8);
|
||||
reg |= (u32)ucontrol->value.iec958.status[0];
|
||||
|
||||
spin_lock_irqsave(&spdif->lock, flags);
|
||||
guard(spinlock_irqsave)(&spdif->lock);
|
||||
|
||||
img_spdif_out_writel(spdif, reg, IMG_SPDIF_OUT_CSL);
|
||||
|
||||
|
|
@ -178,8 +174,6 @@ static int img_spdif_out_set_status(struct snd_kcontrol *kcontrol,
|
|||
IMG_SPDIF_OUT_CSH_UV_CSH_SHIFT;
|
||||
img_spdif_out_writel(spdif, reg, IMG_SPDIF_OUT_CSH_UV);
|
||||
|
||||
spin_unlock_irqrestore(&spdif->lock, flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -205,7 +199,6 @@ static int img_spdif_out_trigger(struct snd_pcm_substream *substream, int cmd,
|
|||
{
|
||||
struct img_spdif_out *spdif = snd_soc_dai_get_drvdata(dai);
|
||||
u32 reg;
|
||||
unsigned long flags;
|
||||
|
||||
switch (cmd) {
|
||||
case SNDRV_PCM_TRIGGER_START:
|
||||
|
|
@ -218,9 +211,8 @@ static int img_spdif_out_trigger(struct snd_pcm_substream *substream, int cmd,
|
|||
case SNDRV_PCM_TRIGGER_STOP:
|
||||
case SNDRV_PCM_TRIGGER_SUSPEND:
|
||||
case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
|
||||
spin_lock_irqsave(&spdif->lock, flags);
|
||||
img_spdif_out_reset(spdif);
|
||||
spin_unlock_irqrestore(&spdif->lock, flags);
|
||||
scoped_guard(spinlock_irqsave, &spdif->lock)
|
||||
img_spdif_out_reset(spdif);
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user