[alsa-devel] [PATCH] ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP

Eric Nelson eric.nelson at boundarydevices.com
Thu Feb 26 23:59:00 CET 2015


The only way the SGTL5000_VDDC_CHRGPMP_POWERUP bit is set
is by execution on a machine with vddio and vdda below 3.1V,
and the driver needn't handle the case where the design changes
through a soft reboot.

Even if that were desired, the register write removed by this
patch would get over-written by the cached value.

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 at boundarydevices.com>
---
 sound/soc/codecs/sgtl5000.c | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c
index d4d793f..518731a 100644
--- a/sound/soc/codecs/sgtl5000.c
+++ b/sound/soc/codecs/sgtl5000.c
@@ -952,13 +952,6 @@ 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);
-
 		/* VDDC use VDDIO rail */
 		lreg_ctrl |= SGTL5000_VDDC_ASSN_OVRD;
 		lreg_ctrl |= SGTL5000_VDDC_MAN_ASSN_VDDIO <<
-- 
1.9.1



More information about the Alsa-devel mailing list