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>
This commit is contained in:
Peter Ujfalusi 2011-10-05 10:29:21 +03:00 committed by Mark Brown
parent e49b68339e
commit 08a1ed76f5

View file

@ -746,7 +746,7 @@ static int twl6040_put_volsw(struct snd_kcontrol *kcontrol,
struct twl6040_output *out = NULL; struct twl6040_output *out = NULL;
struct soc_mixer_control *mc = struct soc_mixer_control *mc =
(struct soc_mixer_control *)kcontrol->private_value; (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 /* For HS and HF we shadow the values and only actually write
* them out when active in order to ensure the amplifier comes on * 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) { switch (mc->reg) {
case TWL6040_REG_HSGAIN: case TWL6040_REG_HSGAIN:
out = &twl6040_priv->headset; out = &twl6040_priv->headset;
type_2r = 0;
break; break;
case TWL6040_REG_HFLGAIN: case TWL6040_REG_HFLGAIN:
out = &twl6040_priv->handsfree; out = &twl6040_priv->handsfree;
type_2r = 1;
break; break;
default: default:
return -EINVAL; return -EINVAL;
@ -768,7 +770,7 @@ static int twl6040_put_volsw(struct snd_kcontrol *kcontrol,
return 1; return 1;
/* call the appropriate handler depending on the rreg */ /* call the appropriate handler depending on the rreg */
if (mc->rreg) if (type_2r)
ret = snd_soc_put_volsw_2r(kcontrol, ucontrol); ret = snd_soc_put_volsw_2r(kcontrol, ucontrol);
else else
ret = snd_soc_put_volsw(kcontrol, ucontrol); ret = snd_soc_put_volsw(kcontrol, ucontrol);