[PATCH V2] au1xmmc: dev_pm_ops conversion

From: Manuel Lauss
Date: Wed Jul 22 2009 - 11:18:50 EST


Cc: Frans Pop <elendil@xxxxxxxxx>
Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx>
---
V1->V2: don't remove CONFIG_PM

drivers/mmc/host/au1xmmc.c | 24 +++++++++++++++---------
1 files changed, 15 insertions(+), 9 deletions(-)

diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c
index d3f5561..2d4e20f 100644
--- a/drivers/mmc/host/au1xmmc.c
+++ b/drivers/mmc/host/au1xmmc.c
@@ -1132,12 +1132,12 @@ static int __devexit au1xmmc_remove(struct platform_device *pdev)
}

#ifdef CONFIG_PM
-static int au1xmmc_suspend(struct platform_device *pdev, pm_message_t state)
+static int au1xmmc_suspend(struct device *dev)
{
- struct au1xmmc_host *host = platform_get_drvdata(pdev);
+ struct au1xmmc_host *host = dev_get_drvdata(dev);
int ret;

- ret = mmc_suspend_host(host->mmc, state);
+ ret = mmc_suspend_host(host->mmc, PMSG_SUSPEND);
if (ret)
return ret;

@@ -1150,27 +1150,33 @@ static int au1xmmc_suspend(struct platform_device *pdev, pm_message_t state)
return 0;
}

-static int au1xmmc_resume(struct platform_device *pdev)
+static int au1xmmc_resume(struct device *dev)
{
- struct au1xmmc_host *host = platform_get_drvdata(pdev);
+ struct au1xmmc_host *host = dev_get_drvdata(dev);

au1xmmc_reset_controller(host);

return mmc_resume_host(host->mmc);
}
+
+static struct dev_pm_ops au1xmmc_pmops = {
+ .resume = au1xmmc_resume,
+ .suspend = au1xmmc_suspend,
+};
+
+#define AU1XMMC_PMOPS &au1xmmc_pmops
+
#else
-#define au1xmmc_suspend NULL
-#define au1xmmc_resume NULL
+#define AU1XMMC_PMOPS NULL
#endif

static struct platform_driver au1xmmc_driver = {
.probe = au1xmmc_probe,
.remove = au1xmmc_remove,
- .suspend = au1xmmc_suspend,
- .resume = au1xmmc_resume,
.driver = {
.name = DRIVER_NAME,
.owner = THIS_MODULE,
+ .pm = AU1XMMC_PMOPS,
},
};

--
1.6.3.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/