Commit e94de1e8 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

ASoC: Avoid a redundant read in cs42l51_pdn_event

snd_soc_update_bits already does read-modify-write,
no need to read the register before calling snd_soc_update_bits.
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 65ff03f4
...@@ -175,21 +175,18 @@ static const struct snd_kcontrol_new cs42l51_snd_controls[] = { ...@@ -175,21 +175,18 @@ static const struct snd_kcontrol_new cs42l51_snd_controls[] = {
static int cs42l51_pdn_event(struct snd_soc_dapm_widget *w, static int cs42l51_pdn_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *kcontrol, int event) struct snd_kcontrol *kcontrol, int event)
{ {
unsigned long value;
value = snd_soc_read(w->codec, CS42L51_POWER_CTL1);
value &= ~CS42L51_POWER_CTL1_PDN;
switch (event) { switch (event) {
case SND_SOC_DAPM_PRE_PMD: case SND_SOC_DAPM_PRE_PMD:
value |= CS42L51_POWER_CTL1_PDN; snd_soc_update_bits(w->codec, CS42L51_POWER_CTL1,
CS42L51_POWER_CTL1_PDN,
CS42L51_POWER_CTL1_PDN);
break; break;
default: default:
case SND_SOC_DAPM_POST_PMD: case SND_SOC_DAPM_POST_PMD:
snd_soc_update_bits(w->codec, CS42L51_POWER_CTL1,
CS42L51_POWER_CTL1_PDN, 0);
break; break;
} }
snd_soc_update_bits(w->codec, CS42L51_POWER_CTL1,
CS42L51_POWER_CTL1_PDN, value);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment