Commit e49b6833 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Mark Brown
Browse files

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: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 0f9887d1
Loading
Loading
Loading
Loading
+6 −12
Original line number Diff line number Diff line
@@ -796,22 +796,16 @@ static int twl6040_get_volsw(struct snd_kcontrol *kcontrol,
		out = &twl6040_priv->handsfree;
		break;
	default:
		break;
		dev_warn(codec->dev, "%s: Unexpected register: 0x%02x\n",
					__func__, mc->reg);
		return -EINVAL;
	}

	if (out) {
	ucontrol->value.integer.value[0] = out->left_vol;
	ucontrol->value.integer.value[1] = out->right_vol;
	return 0;
}

	/* 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);
}

/*
 * MICATT volume control:
 * from -6 to 0 dB in 6 dB steps