ASoC: Add suspend and resume callbacks to Wolfson CODEC drivers
[deliverable/linux.git] / sound / soc / codecs / wm8400.c
index 510efa6040088a03cc30f39ac8bfd015f8ba74f9..0bf903f27564274f4fb6d7d49875aa6158aaf460 100644 (file)
@@ -954,7 +954,7 @@ static int fll_factors(struct wm8400_priv *wm8400, struct fll_factors *factors,
                factors->outdiv *= 2;
                if (factors->outdiv > 32) {
                        dev_err(wm8400->wm8400->dev,
-                               "Unsupported FLL output frequency %dHz\n",
+                               "Unsupported FLL output frequency %uHz\n",
                                Fout);
                        return -EINVAL;
                }
@@ -1003,7 +1003,7 @@ static int fll_factors(struct wm8400_priv *wm8400, struct fll_factors *factors,
        factors->k = K / 10;
 
        dev_dbg(wm8400->wm8400->dev,
-               "FLL: Fref=%d Fout=%d N=%x K=%x, FRATIO=%x OUTDIV=%x\n",
+               "FLL: Fref=%u Fout=%u N=%x K=%x, FRATIO=%x OUTDIV=%x\n",
                Fref, Fout,
                factors->n, factors->k, factors->fratio, factors->outdiv);
 
@@ -1473,8 +1473,8 @@ static int wm8400_codec_probe(struct platform_device *dev)
 
        codec = &priv->codec;
        codec->private_data = priv;
-       codec->control_data = dev->dev.driver_data;
-       priv->wm8400 = dev->dev.driver_data;
+       codec->control_data = dev_get_drvdata(&dev->dev);
+       priv->wm8400 = dev_get_drvdata(&dev->dev);
 
        ret = regulator_bulk_get(priv->wm8400->dev,
                                 ARRAY_SIZE(power), &power[0]);
@@ -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)
This page took 0.035275 seconds and 5 git commands to generate.