mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
ASoC: Add suspend and resume callbacks to Wolfson CODEC drivers
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
831dc0f10f
commit
b3b50b3f31
11 changed files with 244 additions and 0 deletions
|
@ -1671,6 +1671,21 @@ static int __devexit wm8350_codec_remove(struct platform_device *pdev)
|
|||
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 = {
|
||||
.driver = {
|
||||
.name = "wm8350-codec",
|
||||
|
@ -1678,6 +1693,8 @@ static struct platform_driver wm8350_codec_driver = {
|
|||
},
|
||||
.probe = wm8350_codec_probe,
|
||||
.remove = __devexit_p(wm8350_codec_remove),
|
||||
.suspend = wm8350_codec_suspend,
|
||||
.resume = wm8350_codec_resume,
|
||||
};
|
||||
|
||||
static __init int wm8350_init(void)
|
||||
|
|
|
@ -1553,6 +1553,21 @@ static int __exit wm8400_codec_remove(struct platform_device *dev)
|
|||
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 = {
|
||||
.driver = {
|
||||
.name = "wm8400-codec",
|
||||
|
@ -1560,6 +1575,8 @@ static struct platform_driver wm8400_codec_driver = {
|
|||
},
|
||||
.probe = wm8400_codec_probe,
|
||||
.remove = __exit_p(wm8400_codec_remove),
|
||||
.suspend = wm8400_pdev_suspend,
|
||||
.resume = wm8400_pdev_resume,
|
||||
};
|
||||
|
||||
static int __init wm8400_codec_init(void)
|
||||
|
|
|
@ -995,6 +995,21 @@ static int wm8580_i2c_remove(struct i2c_client *client)
|
|||
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[] = {
|
||||
{ "wm8580", 0 },
|
||||
{ }
|
||||
|
@ -1008,6 +1023,8 @@ static struct i2c_driver wm8580_i2c_driver = {
|
|||
},
|
||||
.probe = wm8580_i2c_probe,
|
||||
.remove = wm8580_i2c_remove,
|
||||
.suspend = wm8580_i2c_suspend,
|
||||
.resume = wm8580_i2c_resume,
|
||||
.id_table = wm8580_i2c_id,
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -460,6 +460,7 @@ struct snd_soc_dai wm8731_dai = {
|
|||
};
|
||||
EXPORT_SYMBOL_GPL(wm8731_dai);
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int wm8731_suspend(struct platform_device *pdev, pm_message_t state)
|
||||
{
|
||||
struct snd_soc_device *socdev = platform_get_drvdata(pdev);
|
||||
|
@ -488,6 +489,10 @@ static int wm8731_resume(struct platform_device *pdev)
|
|||
wm8731_set_bias_level(codec, codec->suspend_bias_level);
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
#define wm8731_suspend NULL
|
||||
#define wm8731_resume NULL
|
||||
#endif
|
||||
|
||||
static int wm8731_probe(struct platform_device *pdev)
|
||||
{
|
||||
|
@ -680,6 +685,21 @@ static int __devexit wm8731_spi_remove(struct spi_device *spi)
|
|||
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 = {
|
||||
.driver = {
|
||||
.name = "wm8731",
|
||||
|
@ -687,6 +707,8 @@ static struct spi_driver wm8731_spi_driver = {
|
|||
.owner = THIS_MODULE,
|
||||
},
|
||||
.probe = wm8731_spi_probe,
|
||||
.suspend = wm8731_spi_suspend,
|
||||
.resume = wm8731_spi_resume,
|
||||
.remove = __devexit_p(wm8731_spi_remove),
|
||||
};
|
||||
#endif /* CONFIG_SPI_MASTER */
|
||||
|
@ -720,6 +742,21 @@ static __devexit int wm8731_i2c_remove(struct i2c_client *client)
|
|||
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[] = {
|
||||
{ "wm8731", 0 },
|
||||
{ }
|
||||
|
@ -733,6 +770,8 @@ static struct i2c_driver wm8731_i2c_driver = {
|
|||
},
|
||||
.probe = wm8731_i2c_probe,
|
||||
.remove = __devexit_p(wm8731_i2c_remove),
|
||||
.suspend = wm8731_i2c_suspend,
|
||||
.resume = wm8731_i2c_resume,
|
||||
.id_table = wm8731_i2c_id,
|
||||
};
|
||||
#endif
|
||||
|
|
|
@ -1766,6 +1766,21 @@ static int wm8753_i2c_remove(struct i2c_client *client)
|
|||
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[] = {
|
||||
{ "wm8753", 0 },
|
||||
{ }
|
||||
|
@ -1779,6 +1794,8 @@ static struct i2c_driver wm8753_i2c_driver = {
|
|||
},
|
||||
.probe = wm8753_i2c_probe,
|
||||
.remove = wm8753_i2c_remove,
|
||||
.suspend = wm8753_i2c_suspend,
|
||||
.resume = wm8753_i2c_resume,
|
||||
.id_table = wm8753_i2c_id,
|
||||
};
|
||||
#endif
|
||||
|
@ -1834,6 +1851,22 @@ static int __devexit wm8753_spi_remove(struct spi_device *spi)
|
|||
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 = {
|
||||
.driver = {
|
||||
.name = "wm8753",
|
||||
|
@ -1842,6 +1875,8 @@ static struct spi_driver wm8753_spi_driver = {
|
|||
},
|
||||
.probe = wm8753_spi_probe,
|
||||
.remove = __devexit_p(wm8753_spi_remove),
|
||||
.suspend = wm8753_spi_suspend,
|
||||
.resume = wm8753_spi_resume,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1399,6 +1399,21 @@ static __devexit int wm8900_i2c_remove(struct i2c_client *client)
|
|||
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[] = {
|
||||
{ "wm8900", 0 },
|
||||
{ }
|
||||
|
@ -1412,6 +1427,8 @@ static struct i2c_driver wm8900_i2c_driver = {
|
|||
},
|
||||
.probe = wm8900_i2c_probe,
|
||||
.remove = __devexit_p(wm8900_i2c_remove),
|
||||
.suspend = wm8900_i2c_suspend,
|
||||
.resume = wm8900_i2c_resume,
|
||||
.id_table = wm8900_i2c_id,
|
||||
};
|
||||
|
||||
|
|
|
@ -1731,6 +1731,21 @@ static __devexit int wm8903_i2c_remove(struct i2c_client *client)
|
|||
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 */
|
||||
static const struct i2c_device_id wm8903_i2c_id[] = {
|
||||
{ "wm8903", 0 },
|
||||
|
@ -1745,6 +1760,8 @@ static struct i2c_driver wm8903_i2c_driver = {
|
|||
},
|
||||
.probe = wm8903_i2c_probe,
|
||||
.remove = __devexit_p(wm8903_i2c_remove),
|
||||
.suspend = wm8903_i2c_suspend,
|
||||
.resume = wm8903_i2c_resume,
|
||||
.id_table = wm8903_i2c_id,
|
||||
};
|
||||
|
||||
|
|
|
@ -916,6 +916,21 @@ static int __devexit wm8940_i2c_remove(struct i2c_client *client)
|
|||
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[] = {
|
||||
{ "wm8940", 0 },
|
||||
{ }
|
||||
|
@ -929,6 +944,8 @@ static struct i2c_driver wm8940_i2c_driver = {
|
|||
},
|
||||
.probe = wm8940_i2c_probe,
|
||||
.remove = __devexit_p(wm8940_i2c_remove),
|
||||
.suspend = wm8940_i2c_suspend,
|
||||
.resume = wm8940_i2c_resume,
|
||||
.id_table = wm8940_i2c_id,
|
||||
};
|
||||
|
||||
|
|
|
@ -927,6 +927,21 @@ static __devexit int wm8960_i2c_remove(struct i2c_client *client)
|
|||
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[] = {
|
||||
{ "wm8960", 0 },
|
||||
{ }
|
||||
|
@ -940,6 +955,8 @@ static struct i2c_driver wm8960_i2c_driver = {
|
|||
},
|
||||
.probe = wm8960_i2c_probe,
|
||||
.remove = __devexit_p(wm8960_i2c_remove),
|
||||
.suspend = wm8960_i2c_suspend,
|
||||
.resume = wm8960_i2c_resume,
|
||||
.id_table = wm8960_i2c_id,
|
||||
};
|
||||
|
||||
|
|
|
@ -981,6 +981,21 @@ static int wm8988_i2c_remove(struct i2c_client *client)
|
|||
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[] = {
|
||||
{ "wm8988", 0 },
|
||||
{ }
|
||||
|
@ -994,6 +1009,8 @@ static struct i2c_driver wm8988_i2c_driver = {
|
|||
},
|
||||
.probe = wm8988_i2c_probe,
|
||||
.remove = wm8988_i2c_remove,
|
||||
.suspend = wm8988_i2c_suspend,
|
||||
.resume = wm8988_i2c_resume,
|
||||
.id_table = wm8988_i2c_id,
|
||||
};
|
||||
#endif
|
||||
|
@ -1051,6 +1068,21 @@ static int __devexit wm8988_spi_remove(struct spi_device *spi)
|
|||
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 = {
|
||||
.driver = {
|
||||
.name = "wm8988",
|
||||
|
@ -1059,6 +1091,8 @@ static struct spi_driver wm8988_spi_driver = {
|
|||
},
|
||||
.probe = wm8988_spi_probe,
|
||||
.remove = __devexit_p(wm8988_spi_remove),
|
||||
.suspend = wm8988_spi_suspend,
|
||||
.resume = wm8988_spi_resume,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1492,6 +1492,21 @@ static __devexit int wm9081_i2c_remove(struct i2c_client *client)
|
|||
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[] = {
|
||||
{ "wm9081", 0 },
|
||||
{ }
|
||||
|
@ -1505,6 +1520,8 @@ static struct i2c_driver wm9081_i2c_driver = {
|
|||
},
|
||||
.probe = wm9081_i2c_probe,
|
||||
.remove = __devexit_p(wm9081_i2c_remove),
|
||||
.suspend = wm9081_i2c_suspend,
|
||||
.resume = wm9081_i2c_resume,
|
||||
.id_table = wm9081_i2c_id,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue