mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02: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:
parent
a9f8d09ab1
commit
a57e39c7ff
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user