From: bui duc phuc Date: Wed, 10 Jun 2026 10:20:18 +0000 (+0700) Subject: ASoC: mediatek: mt8195: mt8195-dai-etdm: Use guard() for spin locks X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a57e39c7ff0384166fd915c64587ff2c6ebb4d38;p=thirdparty%2Flinux.git ASoC: mediatek: mt8195: mt8195-dai-etdm: 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 Link: https://patch.msgid.link/20260610102021.83273-8-phucduc.bui@gmail.com Signed-off-by: Mark Brown --- diff --git a/sound/soc/mediatek/mt8195/mt8195-dai-etdm.c b/sound/soc/mediatek/mt8195/mt8195-dai-etdm.c index 5dcc8ed26e00..1a20adb2cbf5 100644 --- a/sound/soc/mediatek/mt8195/mt8195-dai-etdm.c +++ b/sound/soc/mediatek/mt8195/mt8195-dai-etdm.c @@ -1318,24 +1318,22 @@ static int mt8195_afe_enable_etdm(struct mtk_base_afe *afe, int dai_id) struct etdm_con_reg etdm_reg; struct mt8195_afe_private *afe_priv = afe->platform_priv; struct mtk_dai_etdm_priv *etdm_data; - unsigned long flags; if (!mt8195_afe_etdm_is_valid(dai_id)) return -EINVAL; etdm_data = afe_priv->dai_priv[dai_id]; - spin_lock_irqsave(&afe_priv->afe_ctrl_lock, flags); + guard(spinlock_irqsave)(&afe_priv->afe_ctrl_lock); etdm_data->en_ref_cnt++; if (etdm_data->en_ref_cnt == 1) { ret = get_etdm_reg(dai_id, &etdm_reg); if (ret < 0) - goto out; + return ret; regmap_update_bits(afe->regmap, etdm_reg.con0, ETDM_CON0_EN, ETDM_CON0_EN); } -out: - spin_unlock_irqrestore(&afe_priv->afe_ctrl_lock, flags); + return ret; } @@ -1345,26 +1343,24 @@ static int mt8195_afe_disable_etdm(struct mtk_base_afe *afe, int dai_id) struct etdm_con_reg etdm_reg; struct mt8195_afe_private *afe_priv = afe->platform_priv; struct mtk_dai_etdm_priv *etdm_data; - unsigned long flags; if (!mt8195_afe_etdm_is_valid(dai_id)) return -EINVAL; etdm_data = afe_priv->dai_priv[dai_id]; - spin_lock_irqsave(&afe_priv->afe_ctrl_lock, flags); + guard(spinlock_irqsave)(&afe_priv->afe_ctrl_lock); if (etdm_data->en_ref_cnt > 0) { etdm_data->en_ref_cnt--; if (etdm_data->en_ref_cnt == 0) { ret = get_etdm_reg(dai_id, &etdm_reg); if (ret < 0) - goto out; + return ret; regmap_update_bits(afe->regmap, etdm_reg.con0, ETDM_CON0_EN, 0); } } -out: - spin_unlock_irqrestore(&afe_priv->afe_ctrl_lock, flags); + return ret; }