]> git.hungrycats.org Git - linux/commitdiff
ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP
authorEric Nelson <eric.nelson@boundarydevices.com>
Fri, 27 Feb 2015 15:06:45 +0000 (08:06 -0700)
committerZefan Li <lizefan@huawei.com>
Fri, 19 Jun 2015 03:40:26 +0000 (11:40 +0800)
commit c7d910b87d3c8e9fcf4077089ca4327c12eee099 upstream.

The SGTL5000_CHIP_ANA_POWER register is cached. Update the cached
value instead of writing it directly.

Patch inspired by Russell King's more colorful remarks in this
patch:
https://github.com/SolidRun/linux-imx6-3.14/commit/dd4bf6a

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Zefan Li <lizefan@huawei.com>
sound/soc/codecs/sgtl5000.c

index 87cbf14bbdcd5766ae142c24d8940f1dc1e65f5b..e8a7608ff3de841f4b95cc8c410d21e66396d62d 100644 (file)
@@ -1107,13 +1107,7 @@ static int sgtl5000_set_power_regs(struct snd_soc_codec *codec)
                /* Enable VDDC charge pump */
                ana_pwr |= SGTL5000_VDDC_CHRGPMP_POWERUP;
        } else if (vddio >= 3100 && vdda >= 3100) {
-               /*
-                * if vddio and vddd > 3.1v,
-                * charge pump should be clean before set ana_pwr
-                */
-               snd_soc_update_bits(codec, SGTL5000_CHIP_ANA_POWER,
-                               SGTL5000_VDDC_CHRGPMP_POWERUP, 0);
-
+               ana_pwr &= ~SGTL5000_VDDC_CHRGPMP_POWERUP;
                /* VDDC use VDDIO rail */
                lreg_ctrl |= SGTL5000_VDDC_ASSN_OVRD;
                lreg_ctrl |= SGTL5000_VDDC_MAN_ASSN_VDDIO <<