aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc/codecs/wm8961.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2009-06-25 13:57:59 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2009-06-25 13:57:59 +0100
commite2f551dacbdff8e40365a989ab66104b03316f4d (patch)
tree7ddedb236713df882568b0aa9bd54ec7df16030b /sound/soc/codecs/wm8961.c
parentASoC: Add a shutdown callback (diff)
downloadlinux-dev-e2f551dacbdff8e40365a989ab66104b03316f4d.tar.xz
linux-dev-e2f551dacbdff8e40365a989ab66104b03316f4d.zip
ASoC: Add core suspend and resume callbacks to WM8961
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/wm8961.c')
-rw-r--r--sound/soc/codecs/wm8961.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8961.c b/sound/soc/codecs/wm8961.c
index 8e78959ca409..1af2d10702f4 100644
--- a/sound/soc/codecs/wm8961.c
+++ b/sound/soc/codecs/wm8961.c
@@ -1267,6 +1267,21 @@ static __devexit int wm8961_i2c_remove(struct i2c_client *client)
return 0;
}
+#ifdef CONFIG_PM
+static int wm8961_i2c_suspend(struct i2c_client *client)
+{
+ return snd_soc_suspend_device(&client->dev);
+}
+
+static int wm8961_i2c_resume(struct i2c_client *client)
+{
+ return snd_soc_resume_device(&client->dev);
+}
+#else
+#define wm8961_i2c_suspend NULL
+#define wm8961_i2c_resume NULL
+#endif
+
static const struct i2c_device_id wm8961_i2c_id[] = {
{ "wm8961", 0 },
{ }
@@ -1280,6 +1295,8 @@ static struct i2c_driver wm8961_i2c_driver = {
},
.probe = wm8961_i2c_probe,
.remove = __devexit_p(wm8961_i2c_remove),
+ .suspend = wm8961_i2c_suspend,
+ .resume = wm8961_i2c_resume,
.id_table = wm8961_i2c_id,
};