ALSA: ASoC: cs4270: move power management hooks to snd_soc_codec_device
authorDaniel Mack <daniel@caiaq.de>
Wed, 5 Aug 2009 18:50:43 +0000 (20:50 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 5 Aug 2009 21:13:49 +0000 (22:13 +0100)
commit15b5bdaeeb15e0c18cca3ce7449188ca46516721
treee5d073025cdfd02794b3782cd6eb25bf1b637c7e
parentb0a2712ffdde139f95d3e78c359877b23709509a
ALSA: ASoC: cs4270: move power management hooks to snd_soc_codec_device

Power management for the cs4270 codec is currently implemented as part
of the i2c_driver struct. The disadvantage of doing it this way is that
the callbacks registered in the snd_soc_card struct are called _before_
the codec's callbacks.

That doesn't work, because the snd_soc_card callbacks will most likely
switch down the codec's power domains or pull the reset GPIOs, and
hence make the i2c communication bail out.

Fix this by binding the suspend and resume code to the
snd_soc_codec_device driver model and let the I2C functions only call
the SoC core function for resume and suspend, which do nothing currently
but will do later.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Cc: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/cs4270.c