[PATCH 3/5] ASoC: samsung: odroid: Use guard() for spin locks

phucduc.bui
2026-04-23T12:57:14Z

sound/soc/samsung/odroid.c | 21 ++++++---------------
1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/sound/soc/samsung/odroid.c b/sound/soc/samsung/odroid.c
index ab3398f39f4a..5c5ecbea5331 100644
--- a/sound/soc/samsung/odroid.c
+++ b/sound/soc/samsung/odroid.c
@@ -36,15 +36,12 @@ static int odroid_card_fe_hw_params(struct snd_pcm_substream *substream,
{
struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card);
- unsigned long flags;
- int ret = 0;

- spin_lock_irqsave(&priv->lock, flags);
+ guard(spinlock_irqsave)(&priv->lock);
if (priv->be_active && priv->be_sample_rate != params_rate(params))
- ret = -EINVAL;
- spin_unlock_irqrestore(&priv->lock, flags);
+ return -EINVAL;

- return ret;
+ return 0;
}

static const struct snd_soc_ops odroid_card_fe_ops = {
@@ -58,7 +55,6 @@ static int odroid_card_be_hw_params(struct snd_pcm_substream *substream,
struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card);
unsigned int pll_freq, rclk_freq, rfs;
- unsigned long flags;
int ret;

switch (params_rate(params)) {
@@ -105,10 +101,8 @@ static int odroid_card_be_hw_params(struct snd_pcm_substream *substream,
return ret;
}

- spin_lock_irqsave(&priv->lock, flags);
- priv->be_sample_rate = params_rate(params);
- spin_unlock_irqrestore(&priv->lock, flags);
-
+ scoped_guard(spinlock_irqsave, &priv->lock)
+ priv->be_sample_rate = params_rate(params);
return 0;
}

@@ -116,9 +110,8 @@ static int odroid_card_be_trigger(struct snd_pcm_substream *substream, int cmd)
{
struct snd_soc_pcm_runtime *rtd = snd_soc_substream_to_rtd(substream);
struct odroid_priv *priv = snd_soc_card_get_drvdata(rtd->card);
- unsigned long flags;

- spin_lock_irqsave(&priv->lock, flags);
+ guard(spinlock_irqsave)(&priv->lock);

switch (cmd) {
case SNDRV_PCM_TRIGGER_START:
@@ -134,8 +127,6 @@ static int odroid_card_be_trigger(struct snd_pcm_substream *substream, int cmd)
break;
}

- spin_unlock_irqrestore(&priv->lock, flags);
-
return 0;
}

--
2.43.0