]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
mmc: sdhci-pltfm: add suspend/resume functions
authorGiuseppe Cavallaro <peppe.cavallaro@st.com>
Tue, 28 Sep 2010 08:41:27 +0000 (10:41 +0200)
committerChris Ball <cjb@laptop.org>
Sat, 23 Oct 2010 13:11:17 +0000 (21:11 +0800)
This patch adds the suspend and resume functions
in the sdhci-pltfm device driver.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Reviewed-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/sdhci-pltfm.c

index e045e3c61dde6c24f871f51c72084924bf087d62..4f126de5f4928f3b6f5b6eec81b9bf3cb2306ecd 100644 (file)
@@ -165,6 +165,25 @@ static const struct platform_device_id sdhci_pltfm_ids[] = {
 };
 MODULE_DEVICE_TABLE(platform, sdhci_pltfm_ids);
 
+#ifdef CONFIG_PM
+static int sdhci_pltfm_suspend(struct platform_device *dev, pm_message_t state)
+{
+       struct sdhci_host *host = platform_get_drvdata(dev);
+
+       return sdhci_suspend_host(host, state);
+}
+
+static int sdhci_pltfm_resume(struct platform_device *dev)
+{
+       struct sdhci_host *host = platform_get_drvdata(dev);
+
+       return sdhci_resume_host(host);
+}
+#else
+#define sdhci_pltfm_suspend    NULL
+#define sdhci_pltfm_resume     NULL
+#endif /* CONFIG_PM */
+
 static struct platform_driver sdhci_pltfm_driver = {
        .driver = {
                .name   = "sdhci",
@@ -173,6 +192,8 @@ static struct platform_driver sdhci_pltfm_driver = {
        .probe          = sdhci_pltfm_probe,
        .remove         = __devexit_p(sdhci_pltfm_remove),
        .id_table       = sdhci_pltfm_ids,
+       .suspend        = sdhci_pltfm_suspend,
+       .resume         = sdhci_pltfm_resume,
 };
 
 /*****************************************************************************\