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:
parent
e49b68339e
commit
08a1ed76f5
1 changed files with 4 additions and 2 deletions
|
@ -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);
|
||||||
|
|
Loading…
Reference in a new issue