]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ASoC: twl6040: Simplify custom get_volsw callback
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Wed, 5 Oct 2011 07:29:20 +0000 (10:29 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 5 Oct 2011 16:10:09 +0000 (17:10 +0100)
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>
sound/soc/codecs/twl6040.c

index 11f681b15decb99dda851a09db7eb280024dd5a1..4ad04e3d5c4027314dc37ee292d1ee34e04c7c12 100644 (file)
@@ -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;
 }
 
 /*