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: Axel Lin <axel.lin@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
65ff03f462
commit
e94de1e864
1 changed files with 5 additions and 8 deletions
|
@ -175,21 +175,18 @@ static const struct snd_kcontrol_new cs42l51_snd_controls[] = {
|
|||
static int cs42l51_pdn_event(struct snd_soc_dapm_widget *w,
|
||||
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) {
|
||||
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;
|
||||
default:
|
||||
case SND_SOC_DAPM_POST_PMD:
|
||||
snd_soc_update_bits(w->codec, CS42L51_POWER_CTL1,
|
||||
CS42L51_POWER_CTL1_PDN, 0);
|
||||
break;
|
||||
}
|
||||
snd_soc_update_bits(w->codec, CS42L51_POWER_CTL1,
|
||||
CS42L51_POWER_CTL1_PDN, value);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue