summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Ujfalusi <peter.ujfalusi@ti.com>2011-10-05 10:29:20 +0300
committerMark Brown <broonie@opensource.wolfsonmicro.com>2011-10-05 17:10:09 +0100
commite49b68339ebc7d2e67dc1ae16a4ac6a35fcfc9d5 (patch)
tree7eb6036750246c16945705d994587f2a1d665310
parent0f9887d11e7c59ebae5e464f30a6dde788ed9011 (diff)
downloadlinux-e49b68339ebc7d2e67dc1ae16a4ac6a35fcfc9d5.tar.bz2
ASoC: twl6040: Simplify custom get_volsw callback
The custom get_volsw does not need to call any core get_volsw calls, since we are returning the shadow values for the gains. Return -EINVAL in the unlikely event, if the function has been called for unhandled control. This way we can remove one check in the code. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
-rw-r--r--sound/soc/codecs/twl6040.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/sound/soc/codecs/twl6040.c b/sound/soc/codecs/twl6040.c
index 11f681b15dec..4ad04e3d5c40 100644
--- a/sound/soc/codecs/twl6040.c
+++ b/sound/soc/codecs/twl6040.c
@@ -796,20 +796,14 @@ static int twl6040_get_volsw(struct snd_kcontrol *kcontrol,
out = &twl6040_priv->handsfree;
break;
default:
- break;
- }
-
- if (out) {
- ucontrol->value.integer.value[0] = out->left_vol;
- ucontrol->value.integer.value[1] = out->right_vol;
- return 0;
+ dev_warn(codec->dev, "%s: Unexpected register: 0x%02x\n",
+ __func__, mc->reg);
+ return -EINVAL;
}
- /* call the appropriate handler depending on the rreg */
- if (mc->rreg)
- return snd_soc_get_volsw_2r(kcontrol, ucontrol);
- else
- return snd_soc_get_volsw(kcontrol, ucontrol);
+ ucontrol->value.integer.value[0] = out->left_vol;
+ ucontrol->value.integer.value[1] = out->right_vol;
+ return 0;
}
/*