mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-30 11:03:07 -04:00
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 <phucduc.bui@gmail.com> Link: https://patch.msgid.link/20260610102021.83273-8-phucduc.bui@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user