ASoC: uda134x: fix codec driver by converting to DAPM
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 30 Jul 2013 10:18:52 +0000 (11:18 +0100)
committerMark Brown <broonie@linaro.org>
Tue, 30 Jul 2013 11:04:02 +0000 (12:04 +0100)
commit113591e477acb6b6dbc186ad2ee29a2502e68c33
tree7c116f8ec3d3e8d82abd8181a8fb021b7eb82d57
parent5ae90d8e467e625e447000cb4335c4db973b1095
ASoC: uda134x: fix codec driver by converting to DAPM

For some reason, the DAC/ADCs are not being powered up when I try and
use the UDA1341 driver; this used to work.  Looking back in the git
history, I don't see anything obvious which would cause this
regression.

However, from dumping the register writes, it seems that the codec is
powered down, and nothing calls set_bias_level to wake the codec up.

Moreover, this driver hasn't had DAPM support added to it, which
prevents platform drivers from taking advantage of DAPMs facilities.
So, let's add DAPM support to the driver.

As we move the power control for the DAC/ADC into DAPM, we no longer
need it in set_bias_level() - this function just becomes a way to
manipulate the power control and sync the register cache with the
hardware at the appropriate point.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Mark Brown <broonie@linaro.org>
sound/soc/codecs/uda134x.c