]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level
authorJarkko Nikula <jhnikula@gmail.com>
Mon, 20 Sep 2010 07:39:12 +0000 (10:39 +0300)
committerLiam Girdwood <lrg@slimlogic.co.uk>
Mon, 20 Sep 2010 17:40:46 +0000 (18:40 +0100)
commitd3e31992175656701a7ccb21e48043f6938a75a3
treeab3452cd157f176b56daea63b719646ebe404382
parent7cba1023f3bfd099edd6bd0b6d4994af6b537ccc
ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level

Now all the regulators are disabled when entering into SND_SOC_BIAS_OFF
and enabled when coming back to SND_SOC_BIAS_STANDBY state. Currently this
runtime control happens only with suspend/resume as this patch does not
change the default idle behavior.

This patch manages all the regulators and reset since it seems that register
sync is needed even if only analog supplies AVDD and DRVDD are disabled.
This was noted when the system was running with idle behavior changed and
IOVDD and DVDD were on.

It is not known are all the registers needed to sync or only some subset of
them. Therefore patch plays safe and does always full shutdown/power-up.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
sound/soc/codecs/tlv320aic3x.c