ASoC: Add core suspend and resume callbacks to WM8961
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 25 Jun 2009 12:57:59 +0000 (13:57 +0100)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 25 Jun 2009 12:57:59 +0000 (13:57 +0100)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm8961.c

index 8e78959ca40936c95f0f37fff16d4073caf7e6fd..1af2d10702f4b22f7819c55e6e0d10accc646368 100644 (file)
@@ -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,
 };