]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ASoC: img: img-spdif-out: Use guard() for spin locks
authorbui duc phuc <phucduc.bui@gmail.com>
Wed, 10 Jun 2026 10:45:24 +0000 (17:45 +0700)
committerMark Brown <broonie@kernel.org>
Thu, 11 Jun 2026 19:43:32 +0000 (20:43 +0100)
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>
sound/soc/img/img-spdif-out.c

index 52f696219ef4ca0eb40709a9a19e6f3a766426b2..39a37e4830d80d8feac93a94bd4fc47d486dc1bb 100644 (file)
@@ -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;