ASoC: core: Support for limiting the volume
authorPeter Ujfalusi <peter.ujfalusi@nokia.com>
Fri, 7 May 2010 11:05:49 +0000 (14:05 +0300)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Fri, 7 May 2010 15:41:33 +0000 (16:41 +0100)
commit637d3847ba0ca2c7780e6521cbe75568d19ff0db
tree6a9b76e2d0365cabba43f7a273feceb66710bf4c
parent305787649826d6c84a6f9f71bc3318460610aba4
ASoC: core: Support for limiting the volume

Add support for the core to limit the maximum volume on an
existing control.
The function will modify the soc_mixer_control.max value
of the given control.
The new value must be lower than the original one (chip maximum)

If there is a need for limiting a gain on a given control,
than machine drivers can do the following in their
snd_soc_dai_link.init function:

snd_soc_limit_volume(codec, "TPA6140A2 Headphone Playback Volume", 21);

This will modify the original 31 (chip maximum) to 21, so user
space will not be able to set the gain higher than this.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
include/sound/soc.h
sound/soc/soc-core.c