Commit b3b50b3f authored by Mark Brown's avatar Mark Brown

ASoC: Add suspend and resume callbacks to Wolfson CODEC drivers

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 831dc0f1
...@@ -1671,6 +1671,21 @@ static int __devexit wm8350_codec_remove(struct platform_device *pdev) ...@@ -1671,6 +1671,21 @@ static int __devexit wm8350_codec_remove(struct platform_device *pdev)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8350_codec_suspend(struct platform_device *pdev, pm_message_t m)
{
return snd_soc_suspend_device(&pdev->dev);
}
static int wm8350_codec_resume(struct platform_device *pdev)
{
return snd_soc_resume_device(&pdev->dev);
}
#else
#define wm8350_codec_suspend NULL
#define wm8350_codec_resume NULL
#endif
static struct platform_driver wm8350_codec_driver = { static struct platform_driver wm8350_codec_driver = {
.driver = { .driver = {
.name = "wm8350-codec", .name = "wm8350-codec",
...@@ -1678,6 +1693,8 @@ static struct platform_driver wm8350_codec_driver = { ...@@ -1678,6 +1693,8 @@ static struct platform_driver wm8350_codec_driver = {
}, },
.probe = wm8350_codec_probe, .probe = wm8350_codec_probe,
.remove = __devexit_p(wm8350_codec_remove), .remove = __devexit_p(wm8350_codec_remove),
.suspend = wm8350_codec_suspend,
.resume = wm8350_codec_resume,
}; };
static __init int wm8350_init(void) static __init int wm8350_init(void)
......
...@@ -1553,6 +1553,21 @@ static int __exit wm8400_codec_remove(struct platform_device *dev) ...@@ -1553,6 +1553,21 @@ static int __exit wm8400_codec_remove(struct platform_device *dev)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8400_pdev_suspend(struct platform_device *pdev, pm_message_t msg)
{
return snd_soc_suspend_device(&pdev->dev);
}
static int wm8400_pdev_resume(struct platform_device *pdev)
{
return snd_soc_resume_device(&pdev->dev);
}
#else
#define wm8400_pdev_suspend NULL
#define wm8400_pdev_resume NULL
#endif
static struct platform_driver wm8400_codec_driver = { static struct platform_driver wm8400_codec_driver = {
.driver = { .driver = {
.name = "wm8400-codec", .name = "wm8400-codec",
...@@ -1560,6 +1575,8 @@ static struct platform_driver wm8400_codec_driver = { ...@@ -1560,6 +1575,8 @@ static struct platform_driver wm8400_codec_driver = {
}, },
.probe = wm8400_codec_probe, .probe = wm8400_codec_probe,
.remove = __exit_p(wm8400_codec_remove), .remove = __exit_p(wm8400_codec_remove),
.suspend = wm8400_pdev_suspend,
.resume = wm8400_pdev_resume,
}; };
static int __init wm8400_codec_init(void) static int __init wm8400_codec_init(void)
......
...@@ -995,6 +995,21 @@ static int wm8580_i2c_remove(struct i2c_client *client) ...@@ -995,6 +995,21 @@ static int wm8580_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8580_i2c_suspend(struct i2c_client *client, pm_message_t msg)
{
return snd_soc_suspend_device(&client->dev);
}
static int wm8580_i2c_resume(struct i2c_client *client)
{
return snd_soc_resume_device(&client->dev);
}
#else
#define wm8580_i2c_suspend NULL
#define wm8580_i2c_resume NULL
#endif
static const struct i2c_device_id wm8580_i2c_id[] = { static const struct i2c_device_id wm8580_i2c_id[] = {
{ "wm8580", 0 }, { "wm8580", 0 },
{ } { }
...@@ -1008,6 +1023,8 @@ static struct i2c_driver wm8580_i2c_driver = { ...@@ -1008,6 +1023,8 @@ static struct i2c_driver wm8580_i2c_driver = {
}, },
.probe = wm8580_i2c_probe, .probe = wm8580_i2c_probe,
.remove = wm8580_i2c_remove, .remove = wm8580_i2c_remove,
.suspend = wm8580_i2c_suspend,
.resume = wm8580_i2c_resume,
.id_table = wm8580_i2c_id, .id_table = wm8580_i2c_id,
}; };
#endif #endif
......
...@@ -460,6 +460,7 @@ struct snd_soc_dai wm8731_dai = { ...@@ -460,6 +460,7 @@ struct snd_soc_dai wm8731_dai = {
}; };
EXPORT_SYMBOL_GPL(wm8731_dai); EXPORT_SYMBOL_GPL(wm8731_dai);
#ifdef CONFIG_PM
static int wm8731_suspend(struct platform_device *pdev, pm_message_t state) static int wm8731_suspend(struct platform_device *pdev, pm_message_t state)
{ {
struct snd_soc_device *socdev = platform_get_drvdata(pdev); struct snd_soc_device *socdev = platform_get_drvdata(pdev);
...@@ -488,6 +489,10 @@ static int wm8731_resume(struct platform_device *pdev) ...@@ -488,6 +489,10 @@ static int wm8731_resume(struct platform_device *pdev)
wm8731_set_bias_level(codec, codec->suspend_bias_level); wm8731_set_bias_level(codec, codec->suspend_bias_level);
return 0; return 0;
} }
#else
#define wm8731_suspend NULL
#define wm8731_resume NULL
#endif
static int wm8731_probe(struct platform_device *pdev) static int wm8731_probe(struct platform_device *pdev)
{ {
...@@ -680,6 +685,21 @@ static int __devexit wm8731_spi_remove(struct spi_device *spi) ...@@ -680,6 +685,21 @@ static int __devexit wm8731_spi_remove(struct spi_device *spi)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8731_spi_suspend(struct spi_device *spi, pm_message_t msg)
{
return snd_soc_suspend_device(&spi->dev);
}
static int wm8731_spi_resume(struct spi_device *spi)
{
return snd_soc_resume_device(&spi->dev);
}
#else
#define wm8731_spi_suspend NULL
#define wm8731_spi_resume NULL
#endif
static struct spi_driver wm8731_spi_driver = { static struct spi_driver wm8731_spi_driver = {
.driver = { .driver = {
.name = "wm8731", .name = "wm8731",
...@@ -687,6 +707,8 @@ static struct spi_driver wm8731_spi_driver = { ...@@ -687,6 +707,8 @@ static struct spi_driver wm8731_spi_driver = {
.owner = THIS_MODULE, .owner = THIS_MODULE,
}, },
.probe = wm8731_spi_probe, .probe = wm8731_spi_probe,
.suspend = wm8731_spi_suspend,
.resume = wm8731_spi_resume,
.remove = __devexit_p(wm8731_spi_remove), .remove = __devexit_p(wm8731_spi_remove),
}; };
#endif /* CONFIG_SPI_MASTER */ #endif /* CONFIG_SPI_MASTER */
...@@ -720,6 +742,21 @@ static __devexit int wm8731_i2c_remove(struct i2c_client *client) ...@@ -720,6 +742,21 @@ static __devexit int wm8731_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8731_i2c_suspend(struct i2c_client *i2c, pm_message_t msg)
{
return snd_soc_suspend_device(&i2c->dev);
}
static int wm8731_i2c_resume(struct i2c_client *i2c)
{
return snd_soc_resume_device(&i2c->dev);
}
#else
#define wm8731_i2c_suspend NULL
#define wm8731_i2c_resume NULL
#endif
static const struct i2c_device_id wm8731_i2c_id[] = { static const struct i2c_device_id wm8731_i2c_id[] = {
{ "wm8731", 0 }, { "wm8731", 0 },
{ } { }
...@@ -733,6 +770,8 @@ static struct i2c_driver wm8731_i2c_driver = { ...@@ -733,6 +770,8 @@ static struct i2c_driver wm8731_i2c_driver = {
}, },
.probe = wm8731_i2c_probe, .probe = wm8731_i2c_probe,
.remove = __devexit_p(wm8731_i2c_remove), .remove = __devexit_p(wm8731_i2c_remove),
.suspend = wm8731_i2c_suspend,
.resume = wm8731_i2c_resume,
.id_table = wm8731_i2c_id, .id_table = wm8731_i2c_id,
}; };
#endif #endif
......
...@@ -1766,6 +1766,21 @@ static int wm8753_i2c_remove(struct i2c_client *client) ...@@ -1766,6 +1766,21 @@ static int wm8753_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8753_i2c_suspend(struct i2c_client *client, pm_message_t msg)
{
return snd_soc_suspend_device(&client->dev);
}
static int wm8753_i2c_resume(struct i2c_client *client)
{
return snd_soc_resume_device(&client->dev);
}
#else
#define wm8753_i2c_suspend NULL
#define wm8753_i2c_resume NULL
#endif
static const struct i2c_device_id wm8753_i2c_id[] = { static const struct i2c_device_id wm8753_i2c_id[] = {
{ "wm8753", 0 }, { "wm8753", 0 },
{ } { }
...@@ -1779,6 +1794,8 @@ static struct i2c_driver wm8753_i2c_driver = { ...@@ -1779,6 +1794,8 @@ static struct i2c_driver wm8753_i2c_driver = {
}, },
.probe = wm8753_i2c_probe, .probe = wm8753_i2c_probe,
.remove = wm8753_i2c_remove, .remove = wm8753_i2c_remove,
.suspend = wm8753_i2c_suspend,
.resume = wm8753_i2c_resume,
.id_table = wm8753_i2c_id, .id_table = wm8753_i2c_id,
}; };
#endif #endif
...@@ -1834,6 +1851,22 @@ static int __devexit wm8753_spi_remove(struct spi_device *spi) ...@@ -1834,6 +1851,22 @@ static int __devexit wm8753_spi_remove(struct spi_device *spi)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8753_spi_suspend(struct spi_device *spi, pm_message_t msg)
{
return snd_soc_suspend_device(&spi->dev);
}
static int wm8753_spi_resume(struct spi_device *spi)
{
return snd_soc_resume_device(&spi->dev);
}
#else
#define wm8753_spi_suspend NULL
#define wm8753_spi_resume NULL
#endif
static struct spi_driver wm8753_spi_driver = { static struct spi_driver wm8753_spi_driver = {
.driver = { .driver = {
.name = "wm8753", .name = "wm8753",
...@@ -1842,6 +1875,8 @@ static struct spi_driver wm8753_spi_driver = { ...@@ -1842,6 +1875,8 @@ static struct spi_driver wm8753_spi_driver = {
}, },
.probe = wm8753_spi_probe, .probe = wm8753_spi_probe,
.remove = __devexit_p(wm8753_spi_remove), .remove = __devexit_p(wm8753_spi_remove),
.suspend = wm8753_spi_suspend,
.resume = wm8753_spi_resume,
}; };
#endif #endif
......
...@@ -1399,6 +1399,21 @@ static __devexit int wm8900_i2c_remove(struct i2c_client *client) ...@@ -1399,6 +1399,21 @@ static __devexit int wm8900_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8900_i2c_suspend(struct i2c_client *client, pm_message_t msg)
{
return snd_soc_suspend_device(&client->dev);
}
static int wm8900_i2c_resume(struct i2c_client *client)
{
return snd_soc_resume_device(&client->dev);
}
#else
#define wm8900_i2c_suspend NULL
#define wm8900_i2c_resume NULL
#endif
static const struct i2c_device_id wm8900_i2c_id[] = { static const struct i2c_device_id wm8900_i2c_id[] = {
{ "wm8900", 0 }, { "wm8900", 0 },
{ } { }
...@@ -1412,6 +1427,8 @@ static struct i2c_driver wm8900_i2c_driver = { ...@@ -1412,6 +1427,8 @@ static struct i2c_driver wm8900_i2c_driver = {
}, },
.probe = wm8900_i2c_probe, .probe = wm8900_i2c_probe,
.remove = __devexit_p(wm8900_i2c_remove), .remove = __devexit_p(wm8900_i2c_remove),
.suspend = wm8900_i2c_suspend,
.resume = wm8900_i2c_resume,
.id_table = wm8900_i2c_id, .id_table = wm8900_i2c_id,
}; };
......
...@@ -1731,6 +1731,21 @@ static __devexit int wm8903_i2c_remove(struct i2c_client *client) ...@@ -1731,6 +1731,21 @@ static __devexit int wm8903_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8903_i2c_suspend(struct i2c_client *client, pm_message_t msg)
{
return snd_soc_suspend_device(&client->dev);
}
static int wm8903_i2c_resume(struct i2c_client *client)
{
return snd_soc_resume_device(&client->dev);
}
#else
#define wm8903_i2c_suspend NULL
#define wm8903_i2c_resume NULL
#endif
/* i2c codec control layer */ /* i2c codec control layer */
static const struct i2c_device_id wm8903_i2c_id[] = { static const struct i2c_device_id wm8903_i2c_id[] = {
{ "wm8903", 0 }, { "wm8903", 0 },
...@@ -1745,6 +1760,8 @@ static struct i2c_driver wm8903_i2c_driver = { ...@@ -1745,6 +1760,8 @@ static struct i2c_driver wm8903_i2c_driver = {
}, },
.probe = wm8903_i2c_probe, .probe = wm8903_i2c_probe,
.remove = __devexit_p(wm8903_i2c_remove), .remove = __devexit_p(wm8903_i2c_remove),
.suspend = wm8903_i2c_suspend,
.resume = wm8903_i2c_resume,
.id_table = wm8903_i2c_id, .id_table = wm8903_i2c_id,
}; };
......
...@@ -916,6 +916,21 @@ static int __devexit wm8940_i2c_remove(struct i2c_client *client) ...@@ -916,6 +916,21 @@ static int __devexit wm8940_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8940_i2c_suspend(struct i2c_client *client, pm_message_t msg)
{
return snd_soc_suspend_device(&client->dev);
}
static int wm8940_i2c_resume(struct i2c_client *client)
{
return snd_soc_resume_device(&client->dev);
}
#else
#define wm8940_i2c_suspend NULL
#define wm8940_i2c_resume NULL
#endif
static const struct i2c_device_id wm8940_i2c_id[] = { static const struct i2c_device_id wm8940_i2c_id[] = {
{ "wm8940", 0 }, { "wm8940", 0 },
{ } { }
...@@ -929,6 +944,8 @@ static struct i2c_driver wm8940_i2c_driver = { ...@@ -929,6 +944,8 @@ static struct i2c_driver wm8940_i2c_driver = {
}, },
.probe = wm8940_i2c_probe, .probe = wm8940_i2c_probe,
.remove = __devexit_p(wm8940_i2c_remove), .remove = __devexit_p(wm8940_i2c_remove),
.suspend = wm8940_i2c_suspend,
.resume = wm8940_i2c_resume,
.id_table = wm8940_i2c_id, .id_table = wm8940_i2c_id,
}; };
......
...@@ -927,6 +927,21 @@ static __devexit int wm8960_i2c_remove(struct i2c_client *client) ...@@ -927,6 +927,21 @@ static __devexit int wm8960_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8960_i2c_suspend(struct i2c_client *client, pm_message_t msg)
{
return snd_soc_suspend_device(&client->dev);
}
static int wm8960_i2c_resume(struct i2c_client *client)
{
return snd_soc_resume_device(&client->dev);
}
#else
#define wm8960_i2c_suspend NULL
#define wm8960_i2c_resume NULL
#endif
static const struct i2c_device_id wm8960_i2c_id[] = { static const struct i2c_device_id wm8960_i2c_id[] = {
{ "wm8960", 0 }, { "wm8960", 0 },
{ } { }
...@@ -940,6 +955,8 @@ static struct i2c_driver wm8960_i2c_driver = { ...@@ -940,6 +955,8 @@ static struct i2c_driver wm8960_i2c_driver = {
}, },
.probe = wm8960_i2c_probe, .probe = wm8960_i2c_probe,
.remove = __devexit_p(wm8960_i2c_remove), .remove = __devexit_p(wm8960_i2c_remove),
.suspend = wm8960_i2c_suspend,
.resume = wm8960_i2c_resume,
.id_table = wm8960_i2c_id, .id_table = wm8960_i2c_id,
}; };
......
...@@ -981,6 +981,21 @@ static int wm8988_i2c_remove(struct i2c_client *client) ...@@ -981,6 +981,21 @@ static int wm8988_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8988_i2c_suspend(struct i2c_client *client, pm_message_t msg)
{
return snd_soc_suspend_device(&client->dev);
}
static int wm8988_i2c_resume(struct i2c_client *client)
{
return snd_soc_resume_device(&client->dev);
}
#else
#define wm8988_i2c_suspend NULL
#define wm8988_i2c_resume NULL
#endif
static const struct i2c_device_id wm8988_i2c_id[] = { static const struct i2c_device_id wm8988_i2c_id[] = {
{ "wm8988", 0 }, { "wm8988", 0 },
{ } { }
...@@ -994,6 +1009,8 @@ static struct i2c_driver wm8988_i2c_driver = { ...@@ -994,6 +1009,8 @@ static struct i2c_driver wm8988_i2c_driver = {
}, },
.probe = wm8988_i2c_probe, .probe = wm8988_i2c_probe,
.remove = wm8988_i2c_remove, .remove = wm8988_i2c_remove,
.suspend = wm8988_i2c_suspend,
.resume = wm8988_i2c_resume,
.id_table = wm8988_i2c_id, .id_table = wm8988_i2c_id,
}; };
#endif #endif
...@@ -1051,6 +1068,21 @@ static int __devexit wm8988_spi_remove(struct spi_device *spi) ...@@ -1051,6 +1068,21 @@ static int __devexit wm8988_spi_remove(struct spi_device *spi)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm8988_spi_suspend(struct spi_device *spi, pm_message_t msg)
{
return snd_soc_suspend_device(&spi->dev);
}
static int wm8988_spi_resume(struct spi_device *spi)
{
return snd_soc_resume_device(&spi->dev);
}
#else
#define wm8988_spi_suspend NULL
#define wm8988_spi_resume NULL
#endif
static struct spi_driver wm8988_spi_driver = { static struct spi_driver wm8988_spi_driver = {
.driver = { .driver = {
.name = "wm8988", .name = "wm8988",
...@@ -1059,6 +1091,8 @@ static struct spi_driver wm8988_spi_driver = { ...@@ -1059,6 +1091,8 @@ static struct spi_driver wm8988_spi_driver = {
}, },
.probe = wm8988_spi_probe, .probe = wm8988_spi_probe,
.remove = __devexit_p(wm8988_spi_remove), .remove = __devexit_p(wm8988_spi_remove),
.suspend = wm8988_spi_suspend,
.resume = wm8988_spi_resume,
}; };
#endif #endif
......
...@@ -1492,6 +1492,21 @@ static __devexit int wm9081_i2c_remove(struct i2c_client *client) ...@@ -1492,6 +1492,21 @@ static __devexit int wm9081_i2c_remove(struct i2c_client *client)
return 0; return 0;
} }
#ifdef CONFIG_PM
static int wm9081_i2c_suspend(struct i2c_client *client, pm_message_t msg)
{
return snd_soc_suspend_device(&client->dev);
}
static int wm9081_i2c_resume(struct i2c_client *client)
{
return snd_soc_resume_device(&client->dev);
}
#else
#define wm9081_i2c_suspend NULL
#define wm9081_i2c_resume NULL
#endif
static const struct i2c_device_id wm9081_i2c_id[] = { static const struct i2c_device_id wm9081_i2c_id[] = {
{ "wm9081", 0 }, { "wm9081", 0 },
{ } { }
...@@ -1505,6 +1520,8 @@ static struct i2c_driver wm9081_i2c_driver = { ...@@ -1505,6 +1520,8 @@ static struct i2c_driver wm9081_i2c_driver = {
}, },
.probe = wm9081_i2c_probe, .probe = wm9081_i2c_probe,
.remove = __devexit_p(wm9081_i2c_remove), .remove = __devexit_p(wm9081_i2c_remove),
.suspend = wm9081_i2c_suspend,
.resume = wm9081_i2c_resume,
.id_table = wm9081_i2c_id, .id_table = wm9081_i2c_id,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment