[alsa-devel] [PATCH v2 03/10] ASoC: twl6040: Prepare for core put_volsw/volsw_2r merger

Peter Ujfalusi peter.ujfalusi at ti.com
Wed Oct 5 09:29:21 CEST 2011


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 at ti.com>
---
 sound/soc/codecs/twl6040.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 4ad04e3..c9a601d 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);
-- 
1.7.7



More information about the Alsa-devel mailing list