summaryrefslogtreecommitdiff
path: root/sound/soc/codecs/twl6040.c
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2011-10-05 11:29:21 +0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-10-05 20:10:09 +0400
commit08a1ed76f5cf94bef07cb370b079760553a87b4b (patch)
treea8034904275d216850ae07296ac0ac9c2597d5af /sound/soc/codecs/twl6040.c
parente49b68339ebc7d2e67dc1ae16a4ac6a35fcfc9d5 (diff)
downloadlinux-08a1ed76f5cf94bef07cb370b079760553a87b4b.tar.xz
ASoC: twl6040: Prepare for core put_volsw/volsw_2r merger
Avoid using the mc->rreg to identify the 2r type of gain control. Introduce a variable to track this. This change is needed to avoid breakage with the upcoming volsw volsw_2r merger. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/twl6040.c')
-rw-r--r--sound/soc/codecs/twl6040.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 4ad04e3d5c40..c9a601d43ca2 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -746,7 +746,7 @@ static int twl6040_put_volsw(struct snd_kcontrol *kcontrol,
struct twl6040_output *out = NULL;
struct soc_mixer_control *mc =
(struct soc_mixer_control *)kcontrol->private_value;
- int ret;
+ int ret, type_2r;
/* For HS and HF we shadow the values and only actually write
* them out when active in order to ensure the amplifier comes on
@@ -754,9 +754,11 @@ static int twl6040_put_volsw(struct snd_kcontrol *kcontrol,
switch (mc->reg) {
case TWL6040_REG_HSGAIN:
out = &twl6040_priv->headset;
+ type_2r = 0;
break;
case TWL6040_REG_HFLGAIN:
out = &twl6040_priv->handsfree;
+ type_2r = 1;
break;
default:
return -EINVAL;
@@ -768,7 +770,7 @@ static int twl6040_put_volsw(struct snd_kcontrol *kcontrol,
return 1;
/* call the appropriate handler depending on the rreg */
- if (mc->rreg)
+ if (type_2r)
ret = snd_soc_put_volsw_2r(kcontrol, ucontrol);
else
ret = snd_soc_put_volsw(kcontrol, ucontrol);