diff options
| -rw-r--r-- | drivers/mmc/host/s3cmci.c | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c index 63d211bfc464..6e408452855c 100644 --- a/drivers/mmc/host/s3cmci.c +++ b/drivers/mmc/host/s3cmci.c | |||
| @@ -1546,35 +1546,42 @@ MODULE_DEVICE_TABLE(platform, s3cmci_driver_ids); | |||
| 1546 | 1546 | ||
| 1547 | #ifdef CONFIG_PM | 1547 | #ifdef CONFIG_PM |
| 1548 | 1548 | ||
| 1549 | static int s3cmci_suspend(struct platform_device *dev, pm_message_t state) | 1549 | static int s3cmci_suspend(struct device *dev) |
| 1550 | { | 1550 | { |
| 1551 | struct mmc_host *mmc = platform_get_drvdata(dev); | 1551 | struct mmc_host *mmc = platform_get_drvdata(to_platform_device(dev)); |
| 1552 | struct pm_message event = { PM_EVENT_SUSPEND }; | ||
| 1552 | 1553 | ||
| 1553 | return mmc_suspend_host(mmc, state); | 1554 | return mmc_suspend_host(mmc, event); |
| 1554 | } | 1555 | } |
| 1555 | 1556 | ||
| 1556 | static int s3cmci_resume(struct platform_device *dev) | 1557 | static int s3cmci_resume(struct device *dev) |
| 1557 | { | 1558 | { |
| 1558 | struct mmc_host *mmc = platform_get_drvdata(dev); | 1559 | struct mmc_host *mmc = platform_get_drvdata(to_platform_device(dev)); |
| 1559 | 1560 | ||
| 1560 | return mmc_resume_host(mmc); | 1561 | return mmc_resume_host(mmc); |
| 1561 | } | 1562 | } |
| 1562 | 1563 | ||
| 1564 | static struct dev_pm_ops s3cmci_pm = { | ||
| 1565 | .suspend = s3cmci_suspend, | ||
| 1566 | .resume = s3cmci_resume, | ||
| 1567 | }; | ||
| 1568 | |||
| 1569 | #define s3cmci_pm_ops &s3cmci_pm | ||
| 1563 | #else /* CONFIG_PM */ | 1570 | #else /* CONFIG_PM */ |
| 1564 | #define s3cmci_suspend NULL | 1571 | #define s3cmci_pm_ops NULL |
| 1565 | #define s3cmci_resume NULL | ||
| 1566 | #endif /* CONFIG_PM */ | 1572 | #endif /* CONFIG_PM */ |
| 1567 | 1573 | ||
| 1568 | 1574 | ||
| 1569 | static struct platform_driver s3cmci_driver = { | 1575 | static struct platform_driver s3cmci_driver = { |
| 1570 | .driver.name = "s3c-sdi", | 1576 | .driver = { |
| 1571 | .driver.owner = THIS_MODULE, | 1577 | .name = "s3c-sdi", |
| 1578 | .owner = THIS_MODULE, | ||
| 1579 | .pm = s3cmci_pm_ops, | ||
| 1580 | }, | ||
| 1572 | .id_table = s3cmci_driver_ids, | 1581 | .id_table = s3cmci_driver_ids, |
| 1573 | .probe = s3cmci_probe, | 1582 | .probe = s3cmci_probe, |
| 1574 | .remove = __devexit_p(s3cmci_remove), | 1583 | .remove = __devexit_p(s3cmci_remove), |
| 1575 | .shutdown = s3cmci_shutdown, | 1584 | .shutdown = s3cmci_shutdown, |
| 1576 | .suspend = s3cmci_suspend, | ||
| 1577 | .resume = s3cmci_resume, | ||
| 1578 | }; | 1585 | }; |
| 1579 | 1586 | ||
| 1580 | static int __init s3cmci_init(void) | 1587 | static int __init s3cmci_init(void) |
