|
@@ -23,38 +23,37 @@
|
|
|
|
|
|
#include "tmio_mmc.h"
|
|
#include "tmio_mmc.h"
|
|
|
|
|
|
-#ifdef CONFIG_PM
|
|
|
|
-static int tmio_mmc_suspend(struct platform_device *dev, pm_message_t state)
|
|
|
|
|
|
+#ifdef CONFIG_PM_SLEEP
|
|
|
|
+static int tmio_mmc_suspend(struct device *dev)
|
|
{
|
|
{
|
|
- const struct mfd_cell *cell = mfd_get_cell(dev);
|
|
|
|
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
|
|
+ const struct mfd_cell *cell = mfd_get_cell(pdev);
|
|
int ret;
|
|
int ret;
|
|
|
|
|
|
- ret = tmio_mmc_host_suspend(&dev->dev);
|
|
|
|
|
|
+ ret = tmio_mmc_host_suspend(dev);
|
|
|
|
|
|
/* Tell MFD core it can disable us now.*/
|
|
/* Tell MFD core it can disable us now.*/
|
|
if (!ret && cell->disable)
|
|
if (!ret && cell->disable)
|
|
- cell->disable(dev);
|
|
|
|
|
|
+ cell->disable(pdev);
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|
|
-static int tmio_mmc_resume(struct platform_device *dev)
|
|
|
|
|
|
+static int tmio_mmc_resume(struct device *dev)
|
|
{
|
|
{
|
|
- const struct mfd_cell *cell = mfd_get_cell(dev);
|
|
|
|
|
|
+ struct platform_device *pdev = to_platform_device(dev);
|
|
|
|
+ const struct mfd_cell *cell = mfd_get_cell(pdev);
|
|
int ret = 0;
|
|
int ret = 0;
|
|
|
|
|
|
/* Tell the MFD core we are ready to be enabled */
|
|
/* Tell the MFD core we are ready to be enabled */
|
|
if (cell->resume)
|
|
if (cell->resume)
|
|
- ret = cell->resume(dev);
|
|
|
|
|
|
+ ret = cell->resume(pdev);
|
|
|
|
|
|
if (!ret)
|
|
if (!ret)
|
|
- ret = tmio_mmc_host_resume(&dev->dev);
|
|
|
|
|
|
+ ret = tmio_mmc_host_resume(dev);
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
-#else
|
|
|
|
-#define tmio_mmc_suspend NULL
|
|
|
|
-#define tmio_mmc_resume NULL
|
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
static int tmio_mmc_probe(struct platform_device *pdev)
|
|
static int tmio_mmc_probe(struct platform_device *pdev)
|
|
@@ -134,15 +133,18 @@ static int tmio_mmc_remove(struct platform_device *pdev)
|
|
|
|
|
|
/* ------------------- device registration ----------------------- */
|
|
/* ------------------- device registration ----------------------- */
|
|
|
|
|
|
|
|
+static const struct dev_pm_ops tmio_mmc_dev_pm_ops = {
|
|
|
|
+ SET_SYSTEM_SLEEP_PM_OPS(tmio_mmc_suspend, tmio_mmc_resume)
|
|
|
|
+};
|
|
|
|
+
|
|
static struct platform_driver tmio_mmc_driver = {
|
|
static struct platform_driver tmio_mmc_driver = {
|
|
.driver = {
|
|
.driver = {
|
|
.name = "tmio-mmc",
|
|
.name = "tmio-mmc",
|
|
.owner = THIS_MODULE,
|
|
.owner = THIS_MODULE,
|
|
|
|
+ .pm = &tmio_mmc_dev_pm_ops,
|
|
},
|
|
},
|
|
.probe = tmio_mmc_probe,
|
|
.probe = tmio_mmc_probe,
|
|
.remove = tmio_mmc_remove,
|
|
.remove = tmio_mmc_remove,
|
|
- .suspend = tmio_mmc_suspend,
|
|
|
|
- .resume = tmio_mmc_resume,
|
|
|
|
};
|
|
};
|
|
|
|
|
|
module_platform_driver(tmio_mmc_driver);
|
|
module_platform_driver(tmio_mmc_driver);
|