diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2014-01-03 15:27:55 +0200 |
---|---|---|
committer | Mark Brown <broonie@linaro.org> | 2014-01-08 12:48:53 +0000 |
commit | a450aa6f507542d87ad237cb402b8b6e56329924 (patch) | |
tree | 49ffbfe7a43318ed3a774b8a49ede40c0a77a235 /sound/soc/codecs/twl4030.c | |
parent | 7ded5fe020e670befeab6777e7b8bc4bec272a3f (diff) | |
download | linux-stable-a450aa6f507542d87ad237cb402b8b6e56329924.tar.gz linux-stable-a450aa6f507542d87ad237cb402b8b6e56329924.tar.bz2 linux-stable-a450aa6f507542d87ad237cb402b8b6e56329924.zip |
ASoC: twl4030: Move the ctl cache update local to twl4030_write() function
There's no other users of this functionality, the code can be moved inside
of twl4030_write.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/codecs/twl4030.c')
-rw-r--r-- | sound/soc/codecs/twl4030.c | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/sound/soc/codecs/twl4030.c b/sound/soc/codecs/twl4030.c index 7a5b91e70f98..c3c15f891270 100644 --- a/sound/soc/codecs/twl4030.c +++ b/sound/soc/codecs/twl4030.c @@ -86,25 +86,6 @@ static void tw4030_init_ctl_cache(struct twl4030_priv *twl4030) } } -static void twl4030_update_ctl_cache(struct snd_soc_codec *codec, - unsigned int reg, unsigned int value) -{ - struct twl4030_priv *twl4030 = snd_soc_codec_get_drvdata(codec); - - switch (reg) { - case TWL4030_REG_EAR_CTL: - case TWL4030_REG_PREDL_CTL: - case TWL4030_REG_PREDR_CTL: - case TWL4030_REG_PRECKL_CTL: - case TWL4030_REG_PRECKR_CTL: - case TWL4030_REG_HS_GAIN_SET: - twl4030->ctl_cache[reg - TWL4030_REG_EAR_CTL] = value; - break; - default: - break; - } -} - static unsigned int twl4030_read(struct snd_soc_codec *codec, unsigned int reg) { struct twl4030_priv *twl4030 = snd_soc_codec_get_drvdata(codec); @@ -174,7 +155,22 @@ static bool twl4030_can_write_to_chip(struct snd_soc_codec *codec, static int twl4030_write(struct snd_soc_codec *codec, unsigned int reg, unsigned int value) { - twl4030_update_ctl_cache(codec, reg, value); + struct twl4030_priv *twl4030 = snd_soc_codec_get_drvdata(codec); + + /* Update the ctl cache */ + switch (reg) { + case TWL4030_REG_EAR_CTL: + case TWL4030_REG_PREDL_CTL: + case TWL4030_REG_PREDR_CTL: + case TWL4030_REG_PRECKL_CTL: + case TWL4030_REG_PRECKR_CTL: + case TWL4030_REG_HS_GAIN_SET: + twl4030->ctl_cache[reg - TWL4030_REG_EAR_CTL] = value; + break; + default: + break; + } + if (twl4030_can_write_to_chip(codec, reg)) return twl_i2c_write_u8(TWL4030_MODULE_AUDIO_VOICE, value, reg); |