All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <200908220223.50588.marek.vasut@gmail.com>

diff --git a/a/1.txt b/N1/1.txt
index 92e6ac4..e0092ad 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -7,10 +7,3 @@ This needs testing, so I'd be very glad if the affected maintainers expressed
 their opinion on this.
 
 Cheers!
--------------- next part --------------
-A non-text attachment was scrubbed...
-Name: 0001-Convert-MMC-subsys-drivers-to-dev_pm_ops.patch
-Type: text/x-patch
-Size: 30733 bytes
-Desc: not available
-URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20090822/485a29cf/attachment-0001.bin>
diff --git a/N1/2.hdr b/N1/2.hdr
new file mode 100644
index 0000000..724c1cb
--- /dev/null
+++ b/N1/2.hdr
@@ -0,0 +1,6 @@
+Content-Type: text/x-patch;
+  charset="UTF-8";
+  name="0001-Convert-MMC-subsys-drivers-to-dev_pm_ops.patch"
+Content-Transfer-Encoding: quoted-printable
+Content-Disposition: attachment;
+	filename="0001-Convert-MMC-subsys-drivers-to-dev_pm_ops.patch"
diff --git a/N1/2.txt b/N1/2.txt
new file mode 100644
index 0000000..543c7a5
--- /dev/null
+++ b/N1/2.txt
@@ -0,0 +1,1026 @@
+From 66978eef1d2bd64222901f0b6c6d9c35dcca044e Mon Sep 17 00:00:00 2001
+From: Marek Vasut <marek.vasut@gmail.com>
+Date: Sat, 22 Aug 2009 02:10:27 +0200
+Subject: [PATCH] Convert MMC subsys drivers to dev_pm_ops
+
+This converts most of the drivers found in drivers/mmc/host to dev_pm_ops.
+Also, it contains some fixes for the probe/remove functions in some cases.
+
+Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
+---
+ drivers/mmc/core/core.c       |    3 +-
+ drivers/mmc/host/at91_mci.c   |   28 ++++++++++++++----------
+ drivers/mmc/host/au1xmmc.c    |   29 ++++++++++++++-----------
+ drivers/mmc/host/cb710-mmc.c  |   26 ++++++++++++++---------
+ drivers/mmc/host/imxmmc.c     |   34 +++++++++++++++++-------------
+ drivers/mmc/host/mmci.c       |    2 +-
+ drivers/mmc/host/mvsdio.c     |   33 +++++++++++++++++------------
+ drivers/mmc/host/mxcmmc.c     |   29 ++++++++++++++-----------
+ drivers/mmc/host/omap.c       |   26 ++++++++++++----------
+ drivers/mmc/host/omap_hsmmc.c |   28 +++++++++++++-----------
+ drivers/mmc/host/pxamci.c     |   28 +++++++++++++-----------
+ drivers/mmc/host/s3cmci.c     |   46 +++++++++++++++++++++++-----------------
+ drivers/mmc/host/sdhci-of.c   |    2 +-
+ drivers/mmc/host/sdhci.c      |    2 +-
+ drivers/mmc/host/sdricoh_cs.c |    2 +-
+ drivers/mmc/host/tifm_sd.c    |    2 +-
+ drivers/mmc/host/tmio_mmc.c   |   41 +++++++++++++++++++-----------------
+ drivers/mmc/host/via-sdmmc.c  |    2 +-
+ drivers/mmc/host/wbsd.c       |    2 +-
+ include/linux/mmc/host.h      |    2 +-
+ 20 files changed, 203 insertions(+), 164 deletions(-)
+
+diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
+index d84c880..d8be595 100644
+--- a/drivers/mmc/core/core.c
++++ b/drivers/mmc/core/core.c
+@@ -971,9 +971,8 @@ void mmc_stop_host(struct mmc_host *host)
+ /**
+  *	mmc_suspend_host - suspend a host
+  *	@host: mmc host
+- *	@state: suspend mode (PM_SUSPEND_xxx)
+  */
+-int mmc_suspend_host(struct mmc_host *host, pm_message_t state)
++int mmc_suspend_host(struct mmc_host *host)
+ {
+ 	cancel_delayed_work(&host->detect);
+ 	mmc_flush_scheduled_work();
+diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c
+index e556d42..baece9d 100644
+--- a/drivers/mmc/host/at91_mci.c
++++ b/drivers/mmc/host/at91_mci.c
+@@ -982,7 +982,7 @@ static const struct mmc_host_ops at91_mci_ops = {
+ /*
+  * Probe for the device
+  */
+-static int __init at91_mci_probe(struct platform_device *pdev)
++static int __devinit at91_mci_probe(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc;
+ 	struct at91mci_host *host;
+@@ -1144,7 +1144,7 @@ fail6:
+ /*
+  * Remove a device
+  */
+-static int __exit at91_mci_remove(struct platform_device *pdev)
++static int __devexit at91_mci_remove(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	struct at91mci_host *host;
+@@ -1187,8 +1187,9 @@ static int __exit at91_mci_remove(struct platform_device *pdev)
+ }
+ 
+ #ifdef CONFIG_PM
+-static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)
++static int at91_mci_suspend(struct device *dev)
+ {
++	struct platform_device *pdev = to_platform_device(dev);
+ 	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	struct at91mci_host *host = mmc_priv(mmc);
+ 	int ret = 0;
+@@ -1197,13 +1198,14 @@ static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)
+ 		enable_irq_wake(host->board->det_pin);
+ 
+ 	if (mmc)
+-		ret = mmc_suspend_host(mmc, state);
++		ret = mmc_suspend_host(mmc);
+ 
+ 	return ret;
+ }
+ 
+-static int at91_mci_resume(struct platform_device *pdev)
++static int at91_mci_resume(struct device *dev)
+ {
++	struct platform_device *pdev = to_platform_device(dev);
+ 	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	struct at91mci_host *host = mmc_priv(mmc);
+ 	int ret = 0;
+@@ -1216,24 +1218,26 @@ static int at91_mci_resume(struct platform_device *pdev)
+ 
+ 	return ret;
+ }
+-#else
+-#define at91_mci_suspend	NULL
+-#define at91_mci_resume		NULL
+-#endif
+ 
+-static struct platform_driver at91_mci_driver = {
+-	.remove		= __exit_p(at91_mci_remove),
++static struct dev_pm_ops at91_mci_pm_ops = {
+ 	.suspend	= at91_mci_suspend,
+ 	.resume		= at91_mci_resume,
++};
++#endif
++
++static struct platform_driver at91_mci_driver = {
++	.probe		= at91_mci_probe,
++	.remove		= __devexit_p(at91_mci_remove),
+ 	.driver		= {
+ 		.name	= DRIVER_NAME,
+ 		.owner	= THIS_MODULE,
++		.pm	= &at91_mci_pm_ops,
+ 	},
+ };
+ 
+ static int __init at91_mci_init(void)
+ {
+-	return platform_driver_probe(&at91_mci_driver, at91_mci_probe);
++	return platform_driver_register(&at91_mci_driver);
+ }
+ 
+ static void __exit at91_mci_exit(void)
+diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c
+index d3f5561..350c0b3 100644
+--- a/drivers/mmc/host/au1xmmc.c
++++ b/drivers/mmc/host/au1xmmc.c
+@@ -1132,12 +1132,13 @@ 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 platform_device *pdev = to_platform_device(dev);
+ 	struct au1xmmc_host *host = platform_get_drvdata(pdev);
+ 	int ret;
+ 
+-	ret = mmc_suspend_host(host->mmc, state);
++	ret = mmc_suspend_host(host->mmc);
+ 	if (ret)
+ 		return ret;
+ 
+@@ -1150,27 +1151,29 @@ 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 platform_device *pdev = to_platform_device(dev);
+ 	struct au1xmmc_host *host = platform_get_drvdata(pdev);
+ 
+ 	au1xmmc_reset_controller(host);
+ 
+ 	return mmc_resume_host(host->mmc);
+ }
+-#else
+-#define au1xmmc_suspend NULL
+-#define au1xmmc_resume NULL
+-#endif
+ 
+-static struct platform_driver au1xmmc_driver = {
+-	.probe         = au1xmmc_probe,
+-	.remove        = au1xmmc_remove,
++static struct dev_pm_ops au1xmmc_pm_ops = {
+ 	.suspend       = au1xmmc_suspend,
+ 	.resume        = au1xmmc_resume,
+-	.driver        = {
+-		.name  = DRIVER_NAME,
+-		.owner = THIS_MODULE,
++};
++#endif
++
++static struct platform_driver au1xmmc_driver = {
++	.probe		= au1xmmc_probe,
++	.remove		= __devexit_p(au1xmmc_remove),
++	.driver		= {
++		.name	= DRIVER_NAME,
++		.owner	= THIS_MODULE,
++		.pm	= &au1xmmc_pm_ops,
+ 	},
+ };
+ 
+diff --git a/drivers/mmc/host/cb710-mmc.c b/drivers/mmc/host/cb710-mmc.c
+index 11efefb..b595297 100644
+--- a/drivers/mmc/host/cb710-mmc.c
++++ b/drivers/mmc/host/cb710-mmc.c
+@@ -670,13 +670,14 @@ static const struct mmc_host_ops cb710_mmc_host = {
+ 
+ #ifdef CONFIG_PM
+ 
+-static int cb710_mmc_suspend(struct platform_device *pdev, pm_message_t state)
++static int cb710_mmc_suspend(struct device *dev)
+ {
++	struct platform_device *pdev = to_platform_device(dev);
+ 	struct cb710_slot *slot = cb710_pdev_to_slot(pdev);
+ 	struct mmc_host *mmc = cb710_slot_to_mmc(slot);
+ 	int err;
+ 
+-	err = mmc_suspend_host(mmc, state);
++	err = mmc_suspend_host(mmc);
+ 	if (err)
+ 		return err;
+ 
+@@ -684,8 +685,9 @@ static int cb710_mmc_suspend(struct platform_device *pdev, pm_message_t state)
+ 	return 0;
+ }
+ 
+-static int cb710_mmc_resume(struct platform_device *pdev)
++static int cb710_mmc_resume(struct device *dev)
+ {
++	struct platform_device *pdev = to_platform_device(dev);
+ 	struct cb710_slot *slot = cb710_pdev_to_slot(pdev);
+ 	struct mmc_host *mmc = cb710_slot_to_mmc(slot);
+ 
+@@ -694,6 +696,10 @@ static int cb710_mmc_resume(struct platform_device *pdev)
+ 	return mmc_resume_host(mmc);
+ }
+ 
++static struct dev_pm_ops cm710_mmc_pm_ops = {
++	.suspend = cb710_mmc_suspend,
++	.resume = cb710_mmc_resume,
++};
+ #endif /* CONFIG_PM */
+ 
+ static int __devinit cb710_mmc_init(struct platform_device *pdev)
+@@ -776,13 +782,13 @@ static int __devexit cb710_mmc_exit(struct platform_device *pdev)
+ }
+ 
+ static struct platform_driver cb710_mmc_driver = {
+-	.driver.name = "cb710-mmc",
+-	.probe = cb710_mmc_init,
+-	.remove = __devexit_p(cb710_mmc_exit),
+-#ifdef CONFIG_PM
+-	.suspend = cb710_mmc_suspend,
+-	.resume = cb710_mmc_resume,
+-#endif
++	.driver	= {
++		.name	= "cb710-mmc",
++		.owner	= THIS_MODULE,
++		.pm	= &cb710_mmc_pm_ops,
++	},
++	.probe	= cb710_mmc_init,
++	.remove	= __devexit_p(cb710_mmc_exit),
+ };
+ 
+ static int __init cb710_mmc_init_module(void)
+diff --git a/drivers/mmc/host/imxmmc.c b/drivers/mmc/host/imxmmc.c
+index e0be21a..02bf3af 100644
+--- a/drivers/mmc/host/imxmmc.c
++++ b/drivers/mmc/host/imxmmc.c
+@@ -933,7 +933,7 @@ static void imxmci_check_status(unsigned long data)
+ 	mod_timer(&host->timer, jiffies + (HZ>>1));
+ }
+ 
+-static int __init imxmci_probe(struct platform_device *pdev)
++static int __devinit imxmci_probe(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc;
+ 	struct imxmci_host *host = NULL;
+@@ -1075,7 +1075,7 @@ out:
+ 	return ret;
+ }
+ 
+-static int __exit imxmci_remove(struct platform_device *pdev)
++static int __devexit imxmci_remove(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 
+@@ -1109,20 +1109,22 @@ static int __exit imxmci_remove(struct platform_device *pdev)
+ }
+ 
+ #ifdef CONFIG_PM
+-static int imxmci_suspend(struct platform_device *dev, pm_message_t state)
++static int imxmci_suspend(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	int ret = 0;
+ 
+ 	if (mmc)
+-		ret = mmc_suspend_host(mmc, state);
++		ret = mmc_suspend_host(mmc);
+ 
+ 	return ret;
+ }
+ 
+-static int imxmci_resume(struct platform_device *dev)
++static int imxmci_resume(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	struct imxmci_host *host;
+ 	int ret = 0;
+ 
+@@ -1135,24 +1137,26 @@ static int imxmci_resume(struct platform_device *dev)
+ 
+ 	return ret;
+ }
+-#else
+-#define imxmci_suspend  NULL
+-#define imxmci_resume   NULL
+-#endif /* CONFIG_PM */
+ 
+-static struct platform_driver imxmci_driver = {
+-	.remove		= __exit_p(imxmci_remove),
++static struct dev_pm_ops imxmci_pm_ops = {
+ 	.suspend	= imxmci_suspend,
+ 	.resume		= imxmci_resume,
++};
++#endif /* CONFIG_PM */
++
++static struct platform_driver imxmci_driver = {
++	.probe		= imxmci_probe,
++	.remove		= __devexit_p(imxmci_remove),
+ 	.driver		= {
+ 		.name		= DRIVER_NAME,
+ 		.owner		= THIS_MODULE,
+-	}
++		.pm		= &imxmci_pm_ops,
++	},
+ };
+ 
+ static int __init imxmci_init(void)
+ {
+-	return platform_driver_probe(&imxmci_driver, imxmci_probe);
++	return platform_driver_register(&imxmci_driver);
+ }
+ 
+ static void __exit imxmci_exit(void)
+diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
+index e1aa847..4567c1f 100644
+--- a/drivers/mmc/host/mmci.c
++++ b/drivers/mmc/host/mmci.c
+@@ -676,7 +676,7 @@ static int mmci_suspend(struct amba_device *dev, pm_message_t state)
+ 	if (mmc) {
+ 		struct mmci_host *host = mmc_priv(mmc);
+ 
+-		ret = mmc_suspend_host(mmc, state);
++		ret = mmc_suspend_host(mmc);
+ 		if (ret == 0)
+ 			writel(0, host->base + MMCIMASK0);
+ 	}
+diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c
+index b56d72f..cff55d7 100644
+--- a/drivers/mmc/host/mvsdio.c
++++ b/drivers/mmc/host/mvsdio.c
+@@ -700,7 +700,7 @@ static void __init mv_conf_mbus_windows(struct mvsd_host *host,
+ 	}
+ }
+ 
+-static int __init mvsd_probe(struct platform_device *pdev)
++static int __devinit mvsd_probe(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc = NULL;
+ 	struct mvsd_host *host = NULL;
+@@ -833,7 +833,7 @@ out:
+ 	return ret;
+ }
+ 
+-static int __exit mvsd_remove(struct platform_device *pdev)
++static int __devexit mvsd_remove(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 
+@@ -859,20 +859,22 @@ static int __exit mvsd_remove(struct platform_device *pdev)
+ }
+ 
+ #ifdef CONFIG_PM
+-static int mvsd_suspend(struct platform_device *dev, pm_message_t state)
++static int mvsd_suspend(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	int ret = 0;
+ 
+ 	if (mmc)
+-		ret = mmc_suspend_host(mmc, state);
++		ret = mmc_suspend_host(mmc);
+ 
+ 	return ret;
+ }
+ 
+-static int mvsd_resume(struct platform_device *dev)
++static int mvsd_resume(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	int ret = 0;
+ 
+ 	if (mmc)
+@@ -880,23 +882,26 @@ static int mvsd_resume(struct platform_device *dev)
+ 
+ 	return ret;
+ }
+-#else
+-#define mvsd_suspend	NULL
+-#define mvsd_resume	NULL
+-#endif
+ 
+-static struct platform_driver mvsd_driver = {
+-	.remove		= __exit_p(mvsd_remove),
++static struct dev_pm_ops mvsd_pm_ops = {
+ 	.suspend	= mvsd_suspend,
+ 	.resume		= mvsd_resume,
++};
++#endif
++
++static struct platform_driver mvsd_driver = {
++	.probe		= mvsd_probe,
++	.remove		= __devexit_p(mvsd_remove),
+ 	.driver		= {
+ 		.name	= DRIVER_NAME,
++		.owner	= THIS_DRIVER,
++		.pm	= &mvsd_pm_ops,
+ 	},
+ };
+ 
+ static int __init mvsd_init(void)
+ {
+-	return platform_driver_probe(&mvsd_driver, mvsd_probe);
++	return platform_driver_register(&mvsd_driver);
+ }
+ 
+ static void __exit mvsd_exit(void)
+diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c
+index bc14bb1..676e40f 100644
+--- a/drivers/mmc/host/mxcmmc.c
++++ b/drivers/mmc/host/mxcmmc.c
+@@ -675,7 +675,7 @@ static const struct mmc_host_ops mxcmci_ops = {
+ 	.get_ro		= mxcmci_get_ro,
+ };
+ 
+-static int mxcmci_probe(struct platform_device *pdev)
++static int __devinit mxcmci_probe(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc;
+ 	struct mxcmci_host *host = NULL;
+@@ -813,7 +813,7 @@ out_release_mem:
+ 	return ret;
+ }
+ 
+-static int mxcmci_remove(struct platform_device *pdev)
++static int __devexit mxcmci_remove(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	struct mxcmci_host *host = mmc_priv(mmc);
+@@ -842,20 +842,22 @@ static int mxcmci_remove(struct platform_device *pdev)
+ }
+ 
+ #ifdef CONFIG_PM
+-static int mxcmci_suspend(struct platform_device *dev, pm_message_t state)
++static int mxcmci_suspend(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	int ret = 0;
+ 
+ 	if (mmc)
+-		ret = mmc_suspend_host(mmc, state);
++		ret = mmc_suspend_host(mmc);
+ 
+ 	return ret;
+ }
+ 
+-static int mxcmci_resume(struct platform_device *dev)
++static int mxcmci_resume(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	struct mxcmci_host *host;
+ 	int ret = 0;
+ 
+@@ -866,19 +868,20 @@ static int mxcmci_resume(struct platform_device *dev)
+ 
+ 	return ret;
+ }
+-#else
+-#define mxcmci_suspend  NULL
+-#define mxcmci_resume   NULL
++
++static struct dev_pm_ops mxcmci_pm_ops = {
++	.suspend	= mxcmci_suspend,
++	.resume		= mxcmci_resume,
++};
+ #endif /* CONFIG_PM */
+ 
+ static struct platform_driver mxcmci_driver = {
+ 	.probe		= mxcmci_probe,
+-	.remove		= mxcmci_remove,
+-	.suspend	= mxcmci_suspend,
+-	.resume		= mxcmci_resume,
++	.remove		= __devexit_p(mxcmci_remove),
+ 	.driver		= {
+ 		.name		= DRIVER_NAME,
+ 		.owner		= THIS_MODULE,
++		.pm		= &mxcmci_pm_ops,
+ 	}
+ };
+ 
+diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c
+index e7a331d..2fc3bb8 100644
+--- a/drivers/mmc/host/omap.c
++++ b/drivers/mmc/host/omap.c
+@@ -1392,7 +1392,7 @@ static void mmc_omap_remove_slot(struct mmc_omap_slot *slot)
+ 	mmc_free_host(mmc);
+ }
+ 
+-static int __init mmc_omap_probe(struct platform_device *pdev)
++static int __devinit mmc_omap_probe(struct platform_device *pdev)
+ {
+ 	struct omap_mmc_platform_data *pdata = pdev->dev.platform_data;
+ 	struct mmc_omap_host *host = NULL;
+@@ -1513,7 +1513,7 @@ err_free_mem_region:
+ 	return ret;
+ }
+ 
+-static int mmc_omap_remove(struct platform_device *pdev)
++static int __devexit mmc_omap_remove(struct platform_device *pdev)
+ {
+ 	struct mmc_omap_host *host = platform_get_drvdata(pdev);
+ 	int i;
+@@ -1543,9 +1543,10 @@ static int mmc_omap_remove(struct platform_device *pdev)
+ }
+ 
+ #ifdef CONFIG_PM
+-static int mmc_omap_suspend(struct platform_device *pdev, pm_message_t mesg)
++static int mmc_omap_suspend(struct device *dev)
+ {
+ 	int i, ret = 0;
++	struct platform_device *pdev = to_platform_device(dev);
+ 	struct mmc_omap_host *host = platform_get_drvdata(pdev);
+ 
+ 	if (host == NULL || host->suspended)
+@@ -1555,7 +1556,7 @@ static int mmc_omap_suspend(struct platform_device *pdev, pm_message_t mesg)
+ 		struct mmc_omap_slot *slot;
+ 
+ 		slot = host->slots[i];
+-		ret = mmc_suspend_host(slot->mmc, mesg);
++		ret = mmc_suspend_host(slot->mmc);
+ 		if (ret < 0) {
+ 			while (--i >= 0) {
+ 				slot = host->slots[i];
+@@ -1568,9 +1569,10 @@ static int mmc_omap_suspend(struct platform_device *pdev, pm_message_t mesg)
+ 	return 0;
+ }
+ 
+-static int mmc_omap_resume(struct platform_device *pdev)
++static int mmc_omap_resume(struct device *dev)
+ {
+ 	int i, ret = 0;
++	struct platform_device *pdev = to_platform_device(dev);
+ 	struct mmc_omap_host *host = platform_get_drvdata(pdev);
+ 
+ 	if (host == NULL || !host->suspended)
+@@ -1587,15 +1589,15 @@ static int mmc_omap_resume(struct platform_device *pdev)
+ 	}
+ 	return 0;
+ }
+-#else
+-#define mmc_omap_suspend	NULL
+-#define mmc_omap_resume		NULL
++static struct dev_pm_ops mmc_omap_pm_ops = {
++	.suspend	= mmc_omap_suspend,
++	.resume		= mmc_omap_resume,
++};
+ #endif
+ 
+ static struct platform_driver mmc_omap_driver = {
+-	.remove		= mmc_omap_remove,
+-	.suspend	= mmc_omap_suspend,
+-	.resume		= mmc_omap_resume,
++	.probe		= mmc_omap_probe,
++	.remove		= __devexit_p(mmc_omap_remove),
+ 	.driver		= {
+ 		.name	= DRIVER_NAME,
+ 		.owner	= THIS_MODULE,
+@@ -1604,7 +1606,7 @@ static struct platform_driver mmc_omap_driver = {
+ 
+ static int __init mmc_omap_init(void)
+ {
+-	return platform_driver_probe(&mmc_omap_driver, mmc_omap_probe);
++	return platform_driver_register(&mmc_omap_driver);
+ }
+ 
+ static void __exit mmc_omap_exit(void)
+diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
+index 1cf9cfb..fd04f1e 100644
+--- a/drivers/mmc/host/omap_hsmmc.c
++++ b/drivers/mmc/host/omap_hsmmc.c
+@@ -967,7 +967,7 @@ static struct mmc_host_ops mmc_omap_ops = {
+ 	/* NYET -- enable_sdio_irq */
+ };
+ 
+-static int __init omap_mmc_probe(struct platform_device *pdev)
++static int __devinit omap_mmc_probe(struct platform_device *pdev)
+ {
+ 	struct omap_mmc_platform_data *pdata = pdev->dev.platform_data;
+ 	struct mmc_host *mmc;
+@@ -1180,7 +1180,7 @@ err:
+ 	return ret;
+ }
+ 
+-static int omap_mmc_remove(struct platform_device *pdev)
++static int __devexit omap_mmc_remove(struct platform_device *pdev)
+ {
+ 	struct mmc_omap_host *host = platform_get_drvdata(pdev);
+ 	struct resource *res;
+@@ -1216,16 +1216,17 @@ static int omap_mmc_remove(struct platform_device *pdev)
+ }
+ 
+ #ifdef CONFIG_PM
+-static int omap_mmc_suspend(struct platform_device *pdev, pm_message_t state)
++static int omap_mmc_suspend(struct device *pdev)
+ {
+ 	int ret = 0;
++	struct platform_device *pdev = to_platform_device(dev);
+ 	struct mmc_omap_host *host = platform_get_drvdata(pdev);
+ 
+ 	if (host && host->suspended)
+ 		return 0;
+ 
+ 	if (host) {
+-		ret = mmc_suspend_host(host->mmc, state);
++		ret = mmc_suspend_host(host->mmc);
+ 		if (ret == 0) {
+ 			host->suspended = 1;
+ 
+@@ -1253,9 +1254,10 @@ static int omap_mmc_suspend(struct platform_device *pdev, pm_message_t state)
+ }
+ 
+ /* Routine to resume the MMC device */
+-static int omap_mmc_resume(struct platform_device *pdev)
++static int omap_mmc_resume(struct device *pdev)
+ {
+ 	int ret = 0;
++	struct platform_device *pdev = to_platform_device(dev);
+ 	struct mmc_omap_host *host = platform_get_drvdata(pdev);
+ 
+ 	if (host && !host->suspended)
+@@ -1301,19 +1303,19 @@ clk_en_err:
+ 	return ret;
+ }
+ 
+-#else
+-#define omap_mmc_suspend	NULL
+-#define omap_mmc_resume		NULL
++static struct dev_pm_ops omap_mmc_pm_ops = {
++	.suspend	= omap_mmc_suspend,
++	.resume		= omap_mmc_resume,
++};
+ #endif
+ 
+ static struct platform_driver omap_mmc_driver = {
+ 	.probe		= omap_mmc_probe,
+-	.remove		= omap_mmc_remove,
+-	.suspend	= omap_mmc_suspend,
+-	.resume		= omap_mmc_resume,
++	.remove		= __devexit_p(omap_mmc_remove),
+ 	.driver		= {
+-		.name = DRIVER_NAME,
+-		.owner = THIS_MODULE,
++		.name	= DRIVER_NAME,
++		.owner	= THIS_MODULE,
++		.pm	= &omap_mmc_pm_ops,
+ 	},
+ };
+ 
+diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c
+index 972efa8..1fa867c 100644
+--- a/drivers/mmc/host/pxamci.c
++++ b/drivers/mmc/host/pxamci.c
+@@ -544,7 +544,7 @@ static irqreturn_t pxamci_detect_irq(int irq, void *devid)
+ 	return IRQ_HANDLED;
+ }
+ 
+-static int pxamci_probe(struct platform_device *pdev)
++static int __devinit pxamci_probe(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc;
+ 	struct pxamci_host *host = NULL;
+@@ -750,7 +750,7 @@ err_gpio_ro:
+ 	return ret;
+ }
+ 
+-static int pxamci_remove(struct platform_device *pdev)
++static int __devexit pxamci_remove(struct platform_device *pdev)
+ {
+ 	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	int gpio_cd = -1, gpio_ro = -1, gpio_power = -1;
+@@ -804,20 +804,22 @@ static int pxamci_remove(struct platform_device *pdev)
+ }
+ 
+ #ifdef CONFIG_PM
+-static int pxamci_suspend(struct platform_device *dev, pm_message_t state)
++static int pxamci_suspend(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	int ret = 0;
+ 
+ 	if (mmc)
+-		ret = mmc_suspend_host(mmc, state);
++		ret = mmc_suspend_host(mmc);
+ 
+ 	return ret;
+ }
+ 
+-static int pxamci_resume(struct platform_device *dev)
++static int pxamci_resume(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	int ret = 0;
+ 
+ 	if (mmc)
+@@ -825,19 +827,19 @@ static int pxamci_resume(struct platform_device *dev)
+ 
+ 	return ret;
+ }
+-#else
+-#define pxamci_suspend	NULL
+-#define pxamci_resume	NULL
++static struct dev_pm_ops pxamci_pm_ops = {
++	.suspend	= pxamci_suspend,
++	.resume		= pxamci_resume,
++};
+ #endif
+ 
+ static struct platform_driver pxamci_driver = {
+ 	.probe		= pxamci_probe,
+-	.remove		= pxamci_remove,
+-	.suspend	= pxamci_suspend,
+-	.resume		= pxamci_resume,
++	.remove		= __devexit_p(pxamci_remove),
+ 	.driver		= {
+ 		.name	= DRIVER_NAME,
+ 		.owner	= THIS_MODULE,
++		.pm	= &pxamci_pm_ops,
+ 	},
+ };
+ 
+diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c
+index 8c08cd7..b3b3e1d 100644
+--- a/drivers/mmc/host/s3cmci.c
++++ b/drivers/mmc/host/s3cmci.c
+@@ -1492,54 +1492,60 @@ static int __devinit s3cmci_2440_probe(struct platform_device *dev)
+ 
+ #ifdef CONFIG_PM
+ 
+-static int s3cmci_suspend(struct platform_device *dev, pm_message_t state)
++static int s3cmci_suspend(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 
+-	return  mmc_suspend_host(mmc, state);
++	return  mmc_suspend_host(mmc);
+ }
+ 
+-static int s3cmci_resume(struct platform_device *dev)
++static int s3cmci_resume(struct device *dev)
+ {
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 
+ 	return mmc_resume_host(mmc);
+ }
+ 
+-#else /* CONFIG_PM */
+-#define s3cmci_suspend NULL
+-#define s3cmci_resume NULL
++static struct dev_pm_ops s3cmci_pm_ops = {
++	.suspend	= s3cmci_suspend,
++	.resume		= s3cmci_resume,
++};
+ #endif /* CONFIG_PM */
+ 
+ 
+ static struct platform_driver s3cmci_2410_driver = {
+-	.driver.name	= "s3c2410-sdi",
+-	.driver.owner	= THIS_MODULE,
++	.driver	= {
++		.name	= "s3c2410-sdi",
++		.owner	= THIS_MODULE,
++		.pm	= &s3cmci_pm_ops,
++	},
+ 	.probe		= s3cmci_2410_probe,
+ 	.remove		= __devexit_p(s3cmci_remove),
+ 	.shutdown	= s3cmci_shutdown,
+-	.suspend	= s3cmci_suspend,
+-	.resume		= s3cmci_resume,
+ };
+ 
+ static struct platform_driver s3cmci_2412_driver = {
+-	.driver.name	= "s3c2412-sdi",
+-	.driver.owner	= THIS_MODULE,
++	.driver	= {
++		.name	= "s3c2412-sdi",
++		.owner	= THIS_MODULE,
++		.pm	= &s3cmci_pm_ops,
++	},
+ 	.probe		= s3cmci_2412_probe,
+ 	.remove		= __devexit_p(s3cmci_remove),
+ 	.shutdown	= s3cmci_shutdown,
+-	.suspend	= s3cmci_suspend,
+-	.resume		= s3cmci_resume,
+ };
+ 
+ static struct platform_driver s3cmci_2440_driver = {
+-	.driver.name	= "s3c2440-sdi",
+-	.driver.owner	= THIS_MODULE,
++	.driver	= {
++		.name	= "s3c2440-sdi",
++		.owner	= THIS_MODULE,
++		.pm	= &s3cmci_pm_ops,
++	},
+ 	.probe		= s3cmci_2440_probe,
+ 	.remove		= __devexit_p(s3cmci_remove),
+ 	.shutdown	= s3cmci_shutdown,
+-	.suspend	= s3cmci_suspend,
+-	.resume		= s3cmci_resume,
+ };
+ 
+ 
+diff --git a/drivers/mmc/host/sdhci-of.c b/drivers/mmc/host/sdhci-of.c
+index d79fa55..0370a96 100644
+--- a/drivers/mmc/host/sdhci-of.c
++++ b/drivers/mmc/host/sdhci-of.c
+@@ -194,7 +194,7 @@ static int sdhci_of_suspend(struct of_device *ofdev, pm_message_t state)
+ {
+ 	struct sdhci_host *host = dev_get_drvdata(&ofdev->dev);
+ 
+-	return mmc_suspend_host(host->mmc, state);
++	return mmc_suspend_host(host->mmc);
+ }
+ 
+ static int sdhci_of_resume(struct of_device *ofdev)
+diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
+index 6779b4e..de8e763 100644
+--- a/drivers/mmc/host/sdhci.c
++++ b/drivers/mmc/host/sdhci.c
+@@ -1576,7 +1576,7 @@ int sdhci_suspend_host(struct sdhci_host *host, pm_message_t state)
+ 
+ 	sdhci_disable_card_detection(host);
+ 
+-	ret = mmc_suspend_host(host->mmc, state);
++	ret = mmc_suspend_host(host->mmc);
+ 	if (ret)
+ 		return ret;
+ 
+diff --git a/drivers/mmc/host/sdricoh_cs.c b/drivers/mmc/host/sdricoh_cs.c
+index cb41e9c..e7507af 100644
+--- a/drivers/mmc/host/sdricoh_cs.c
++++ b/drivers/mmc/host/sdricoh_cs.c
+@@ -519,7 +519,7 @@ static int sdricoh_pcmcia_suspend(struct pcmcia_device *link)
+ {
+ 	struct mmc_host *mmc = link->priv;
+ 	dev_dbg(&link->dev, "suspend\n");
+-	mmc_suspend_host(mmc, PMSG_SUSPEND);
++	mmc_suspend_host(mmc);
+ 	return 0;
+ }
+ 
+diff --git a/drivers/mmc/host/tifm_sd.c b/drivers/mmc/host/tifm_sd.c
+index 82554dd..cec9995 100644
+--- a/drivers/mmc/host/tifm_sd.c
++++ b/drivers/mmc/host/tifm_sd.c
+@@ -1032,7 +1032,7 @@ static void tifm_sd_remove(struct tifm_dev *sock)
+ 
+ static int tifm_sd_suspend(struct tifm_dev *sock, pm_message_t state)
+ {
+-	return mmc_suspend_host(tifm_get_drvdata(sock), state);
++	return mmc_suspend_host(tifm_get_drvdata(sock));
+ }
+ 
+ static int tifm_sd_resume(struct tifm_dev *sock)
+diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c
+index 91991b4..042d827 100644
+--- a/drivers/mmc/host/tmio_mmc.c
++++ b/drivers/mmc/host/tmio_mmc.c
+@@ -466,31 +466,33 @@ static struct mmc_host_ops tmio_mmc_ops = {
+ };
+ 
+ #ifdef CONFIG_PM
+-static int tmio_mmc_suspend(struct platform_device *dev, pm_message_t state)
++static int tmio_mmc_suspend(struct device *dev)
+ {
+-	struct mfd_cell	*cell = (struct mfd_cell *)dev->dev.platform_data;
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mfd_cell	*cell = (struct mfd_cell *)pdev->dev.platform_data;
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	int ret;
+ 
+-	ret = mmc_suspend_host(mmc, state);
++	ret = mmc_suspend_host(mmc);
+ 
+ 	/* Tell MFD core it can disable us now.*/
+ 	if (!ret && cell->disable)
+-		cell->disable(dev);
++		cell->disable(pdev);
+ 
+ 	return ret;
+ }
+ 
+-static int tmio_mmc_resume(struct platform_device *dev)
++static int tmio_mmc_resume(struct device *dev)
+ {
+-	struct mfd_cell	*cell = (struct mfd_cell *)dev->dev.platform_data;
+-	struct mmc_host *mmc = platform_get_drvdata(dev);
++	struct platform_device *pdev = to_platform_device(dev);
++	struct mfd_cell	*cell = (struct mfd_cell *)pdev->dev.platform_data;
++	struct mmc_host *mmc = platform_get_drvdata(pdev);
+ 	struct tmio_mmc_host *host = mmc_priv(mmc);
+ 	int ret = 0;
+ 
+ 	/* Tell the MFD core we are ready to be enabled */
+ 	if (cell->enable) {
+-		ret = cell->enable(dev);
++		ret = cell->enable(pdev);
+ 		if (ret)
+ 			goto out;
+ 	}
+@@ -498,16 +500,18 @@ static int tmio_mmc_resume(struct platform_device *dev)
+ 	/* Enable the MMC/SD Control registers */
+ 	sd_config_write16(host, CNF_CMD, SDCREN);
+ 	sd_config_write32(host, CNF_CTL_BASE,
+-		(dev->resource[0].start >> host->bus_shift) & 0xfffe);
++		(pdev->resource[0].start >> host->bus_shift) & 0xfffe);
+ 
+ 	mmc_resume_host(mmc);
+ 
+ out:
+ 	return ret;
+ }
+-#else
+-#define tmio_mmc_suspend NULL
+-#define tmio_mmc_resume NULL
++
++static struct dev_pm_ops tmio_mmc_pm_ops = {
++	.suspend = tmio_mmc_suspend,
++	.resume = tmio_mmc_resume,
++};
+ #endif
+ 
+ static int __devinit tmio_mmc_probe(struct platform_device *dev)
+@@ -637,13 +641,12 @@ static int __devexit tmio_mmc_remove(struct platform_device *dev)
+ 
+ static struct platform_driver tmio_mmc_driver = {
+ 	.driver = {
+-		.name = "tmio-mmc",
+-		.owner = THIS_MODULE,
++		.name	= "tmio-mmc",
++		.owner	= THIS_MODULE,
++		.pm	= &tmio_mmc_pm_ops,
+ 	},
+-	.probe = tmio_mmc_probe,
+-	.remove = __devexit_p(tmio_mmc_remove),
+-	.suspend = tmio_mmc_suspend,
+-	.resume = tmio_mmc_resume,
++	.probe	= tmio_mmc_probe,
++	.remove	= __devexit_p(tmio_mmc_remove),
+ };
+ 
+ 
+diff --git a/drivers/mmc/host/via-sdmmc.c b/drivers/mmc/host/via-sdmmc.c
+index 632858a..19f2d72 100644
+--- a/drivers/mmc/host/via-sdmmc.c
++++ b/drivers/mmc/host/via-sdmmc.c
+@@ -1280,7 +1280,7 @@ static int via_sd_suspend(struct pci_dev *pcidev, pm_message_t state)
+ 	via_save_pcictrlreg(host);
+ 	via_save_sdcreg(host);
+ 
+-	ret = mmc_suspend_host(host->mmc, state);
++	ret = mmc_suspend_host(host->mmc);
+ 
+ 	pci_save_state(pcidev);
+ 	pci_enable_wake(pcidev, pci_choose_state(pcidev, state), 0);
+diff --git a/drivers/mmc/host/wbsd.c b/drivers/mmc/host/wbsd.c
+index 89bf8cd..56e9c4e 100644
+--- a/drivers/mmc/host/wbsd.c
++++ b/drivers/mmc/host/wbsd.c
+@@ -1818,7 +1818,7 @@ static int wbsd_suspend(struct wbsd_host *host, pm_message_t state)
+ {
+ 	BUG_ON(host == NULL);
+ 
+-	return mmc_suspend_host(host->mmc, state);
++	return mmc_suspend_host(host->mmc);
+ }
+ 
+ static int wbsd_resume(struct wbsd_host *host)
+diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
+index 3e7615e..710ae3a 100644
+--- a/include/linux/mmc/host.h
++++ b/include/linux/mmc/host.h
+@@ -180,7 +180,7 @@ static inline void *mmc_priv(struct mmc_host *host)
+ #define mmc_classdev(x)	(&(x)->class_dev)
+ #define mmc_hostname(x)	(dev_name(&(x)->class_dev))
+ 
+-extern int mmc_suspend_host(struct mmc_host *, pm_message_t);
++extern int mmc_suspend_host(struct mmc_host *);
+ extern int mmc_resume_host(struct mmc_host *);
+ 
+ extern void mmc_detect_change(struct mmc_host *, unsigned long delay);
+-- 
+1.6.3.3
diff --git a/a/content_digest b/N1/content_digest
index 1bf5f28..936267d 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -1,8 +1,28 @@
- "From\0marek.vasut@gmail.com (Marek Vasut)\0"
+ "From\0Marek Vasut <marek.vasut@gmail.com>\0"
  "Subject\0[PATCH] Convert MMC subsys drivers to dev_pm_ops\0"
  "Date\0Sat, 22 Aug 2009 02:23:50 +0200\0"
  "To\0linux-arm-kernel@lists.infradead.org\0"
- "\00:1\0"
+ "Cc\0nicolas.ferre@atmel.com"
+  mirq-linux@rere.qmqm.pl
+  linux-kernel@vger.kernel.org
+  manuel.lauss@gmail.com
+  ppisa@pikron.com
+  nico@cam.org
+  maen@marvell.com
+  s.hauer@pengutronix.de
+  tony@atomide.com
+  madhu.cr@ti.com
+  drzeus@drzeus.cx
+  ben-linux@fluff.org
+  avorontsov@ru.mvista.com
+  pierre@ossman.eu
+  sdhci-devel@lists.ossman.eu
+  saschasommer@freenet.de
+  oakad@yahoo.com
+  ian@mnementh.co.uk
+  HaraldWelte@viatech.com
+ " JosephChan@via.com.tw\0"
+ "\01:1\0"
  "b\0"
  "Hi,\n"
  "\n"
@@ -12,13 +32,1035 @@
  "This needs testing, so I'd be very glad if the affected maintainers expressed \n"
  "their opinion on this.\n"
  "\n"
- "Cheers!\n"
- "-------------- next part --------------\n"
- "A non-text attachment was scrubbed...\n"
- "Name: 0001-Convert-MMC-subsys-drivers-to-dev_pm_ops.patch\n"
- "Type: text/x-patch\n"
- "Size: 30733 bytes\n"
- "Desc: not available\n"
- URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20090822/485a29cf/attachment-0001.bin>
+ Cheers!
+ "\01:2\0"
+ "fn\00001-Convert-MMC-subsys-drivers-to-dev_pm_ops.patch\0"
+ "b\0"
+ "From 66978eef1d2bd64222901f0b6c6d9c35dcca044e Mon Sep 17 00:00:00 2001\n"
+ "From: Marek Vasut <marek.vasut@gmail.com>\n"
+ "Date: Sat, 22 Aug 2009 02:10:27 +0200\n"
+ "Subject: [PATCH] Convert MMC subsys drivers to dev_pm_ops\n"
+ "\n"
+ "This converts most of the drivers found in drivers/mmc/host to dev_pm_ops.\n"
+ "Also, it contains some fixes for the probe/remove functions in some cases.\n"
+ "\n"
+ "Signed-off-by: Marek Vasut <marek.vasut@gmail.com>\n"
+ "---\n"
+ " drivers/mmc/core/core.c       |    3 +-\n"
+ " drivers/mmc/host/at91_mci.c   |   28 ++++++++++++++----------\n"
+ " drivers/mmc/host/au1xmmc.c    |   29 ++++++++++++++-----------\n"
+ " drivers/mmc/host/cb710-mmc.c  |   26 ++++++++++++++---------\n"
+ " drivers/mmc/host/imxmmc.c     |   34 +++++++++++++++++-------------\n"
+ " drivers/mmc/host/mmci.c       |    2 +-\n"
+ " drivers/mmc/host/mvsdio.c     |   33 +++++++++++++++++------------\n"
+ " drivers/mmc/host/mxcmmc.c     |   29 ++++++++++++++-----------\n"
+ " drivers/mmc/host/omap.c       |   26 ++++++++++++----------\n"
+ " drivers/mmc/host/omap_hsmmc.c |   28 +++++++++++++-----------\n"
+ " drivers/mmc/host/pxamci.c     |   28 +++++++++++++-----------\n"
+ " drivers/mmc/host/s3cmci.c     |   46 +++++++++++++++++++++++-----------------\n"
+ " drivers/mmc/host/sdhci-of.c   |    2 +-\n"
+ " drivers/mmc/host/sdhci.c      |    2 +-\n"
+ " drivers/mmc/host/sdricoh_cs.c |    2 +-\n"
+ " drivers/mmc/host/tifm_sd.c    |    2 +-\n"
+ " drivers/mmc/host/tmio_mmc.c   |   41 +++++++++++++++++++-----------------\n"
+ " drivers/mmc/host/via-sdmmc.c  |    2 +-\n"
+ " drivers/mmc/host/wbsd.c       |    2 +-\n"
+ " include/linux/mmc/host.h      |    2 +-\n"
+ " 20 files changed, 203 insertions(+), 164 deletions(-)\n"
+ "\n"
+ "diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c\n"
+ "index d84c880..d8be595 100644\n"
+ "--- a/drivers/mmc/core/core.c\n"
+ "+++ b/drivers/mmc/core/core.c\n"
+ "@@ -971,9 +971,8 @@ void mmc_stop_host(struct mmc_host *host)\n"
+ " /**\n"
+ "  *\tmmc_suspend_host - suspend a host\n"
+ "  *\t@host: mmc host\n"
+ "- *\t@state: suspend mode (PM_SUSPEND_xxx)\n"
+ "  */\n"
+ "-int mmc_suspend_host(struct mmc_host *host, pm_message_t state)\n"
+ "+int mmc_suspend_host(struct mmc_host *host)\n"
+ " {\n"
+ " \tcancel_delayed_work(&host->detect);\n"
+ " \tmmc_flush_scheduled_work();\n"
+ "diff --git a/drivers/mmc/host/at91_mci.c b/drivers/mmc/host/at91_mci.c\n"
+ "index e556d42..baece9d 100644\n"
+ "--- a/drivers/mmc/host/at91_mci.c\n"
+ "+++ b/drivers/mmc/host/at91_mci.c\n"
+ "@@ -982,7 +982,7 @@ static const struct mmc_host_ops at91_mci_ops = {\n"
+ " /*\n"
+ "  * Probe for the device\n"
+ "  */\n"
+ "-static int __init at91_mci_probe(struct platform_device *pdev)\n"
+ "+static int __devinit at91_mci_probe(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc;\n"
+ " \tstruct at91mci_host *host;\n"
+ "@@ -1144,7 +1144,7 @@ fail6:\n"
+ " /*\n"
+ "  * Remove a device\n"
+ "  */\n"
+ "-static int __exit at91_mci_remove(struct platform_device *pdev)\n"
+ "+static int __devexit at91_mci_remove(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tstruct at91mci_host *host;\n"
+ "@@ -1187,8 +1187,9 @@ static int __exit at91_mci_remove(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)\n"
+ "+static int at91_mci_suspend(struct device *dev)\n"
+ " {\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tstruct at91mci_host *host = mmc_priv(mmc);\n"
+ " \tint ret = 0;\n"
+ "@@ -1197,13 +1198,14 @@ static int at91_mci_suspend(struct platform_device *pdev, pm_message_t state)\n"
+ " \t\tenable_irq_wake(host->board->det_pin);\n"
+ " \n"
+ " \tif (mmc)\n"
+ "-\t\tret = mmc_suspend_host(mmc, state);\n"
+ "+\t\tret = mmc_suspend_host(mmc);\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int at91_mci_resume(struct platform_device *pdev)\n"
+ "+static int at91_mci_resume(struct device *dev)\n"
+ " {\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tstruct at91mci_host *host = mmc_priv(mmc);\n"
+ " \tint ret = 0;\n"
+ "@@ -1216,24 +1218,26 @@ static int at91_mci_resume(struct platform_device *pdev)\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ "-#else\n"
+ "-#define at91_mci_suspend\tNULL\n"
+ "-#define at91_mci_resume\t\tNULL\n"
+ "-#endif\n"
+ " \n"
+ "-static struct platform_driver at91_mci_driver = {\n"
+ "-\t.remove\t\t= __exit_p(at91_mci_remove),\n"
+ "+static struct dev_pm_ops at91_mci_pm_ops = {\n"
+ " \t.suspend\t= at91_mci_suspend,\n"
+ " \t.resume\t\t= at91_mci_resume,\n"
+ "+};\n"
+ "+#endif\n"
+ "+\n"
+ "+static struct platform_driver at91_mci_driver = {\n"
+ "+\t.probe\t\t= at91_mci_probe,\n"
+ "+\t.remove\t\t= __devexit_p(at91_mci_remove),\n"
+ " \t.driver\t\t= {\n"
+ " \t\t.name\t= DRIVER_NAME,\n"
+ " \t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &at91_mci_pm_ops,\n"
+ " \t},\n"
+ " };\n"
+ " \n"
+ " static int __init at91_mci_init(void)\n"
+ " {\n"
+ "-\treturn platform_driver_probe(&at91_mci_driver, at91_mci_probe);\n"
+ "+\treturn platform_driver_register(&at91_mci_driver);\n"
+ " }\n"
+ " \n"
+ " static void __exit at91_mci_exit(void)\n"
+ "diff --git a/drivers/mmc/host/au1xmmc.c b/drivers/mmc/host/au1xmmc.c\n"
+ "index d3f5561..350c0b3 100644\n"
+ "--- a/drivers/mmc/host/au1xmmc.c\n"
+ "+++ b/drivers/mmc/host/au1xmmc.c\n"
+ "@@ -1132,12 +1132,13 @@ static int __devexit au1xmmc_remove(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int au1xmmc_suspend(struct platform_device *pdev, pm_message_t state)\n"
+ "+static int au1xmmc_suspend(struct device *dev)\n"
+ " {\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct au1xmmc_host *host = platform_get_drvdata(pdev);\n"
+ " \tint ret;\n"
+ " \n"
+ "-\tret = mmc_suspend_host(host->mmc, state);\n"
+ "+\tret = mmc_suspend_host(host->mmc);\n"
+ " \tif (ret)\n"
+ " \t\treturn ret;\n"
+ " \n"
+ "@@ -1150,27 +1151,29 @@ static int au1xmmc_suspend(struct platform_device *pdev, pm_message_t state)\n"
+ " \treturn 0;\n"
+ " }\n"
+ " \n"
+ "-static int au1xmmc_resume(struct platform_device *pdev)\n"
+ "+static int au1xmmc_resume(struct device *dev)\n"
+ " {\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct au1xmmc_host *host = platform_get_drvdata(pdev);\n"
+ " \n"
+ " \tau1xmmc_reset_controller(host);\n"
+ " \n"
+ " \treturn mmc_resume_host(host->mmc);\n"
+ " }\n"
+ "-#else\n"
+ "-#define au1xmmc_suspend NULL\n"
+ "-#define au1xmmc_resume NULL\n"
+ "-#endif\n"
+ " \n"
+ "-static struct platform_driver au1xmmc_driver = {\n"
+ "-\t.probe         = au1xmmc_probe,\n"
+ "-\t.remove        = au1xmmc_remove,\n"
+ "+static struct dev_pm_ops au1xmmc_pm_ops = {\n"
+ " \t.suspend       = au1xmmc_suspend,\n"
+ " \t.resume        = au1xmmc_resume,\n"
+ "-\t.driver        = {\n"
+ "-\t\t.name  = DRIVER_NAME,\n"
+ "-\t\t.owner = THIS_MODULE,\n"
+ "+};\n"
+ "+#endif\n"
+ "+\n"
+ "+static struct platform_driver au1xmmc_driver = {\n"
+ "+\t.probe\t\t= au1xmmc_probe,\n"
+ "+\t.remove\t\t= __devexit_p(au1xmmc_remove),\n"
+ "+\t.driver\t\t= {\n"
+ "+\t\t.name\t= DRIVER_NAME,\n"
+ "+\t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &au1xmmc_pm_ops,\n"
+ " \t},\n"
+ " };\n"
+ " \n"
+ "diff --git a/drivers/mmc/host/cb710-mmc.c b/drivers/mmc/host/cb710-mmc.c\n"
+ "index 11efefb..b595297 100644\n"
+ "--- a/drivers/mmc/host/cb710-mmc.c\n"
+ "+++ b/drivers/mmc/host/cb710-mmc.c\n"
+ "@@ -670,13 +670,14 @@ static const struct mmc_host_ops cb710_mmc_host = {\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ " \n"
+ "-static int cb710_mmc_suspend(struct platform_device *pdev, pm_message_t state)\n"
+ "+static int cb710_mmc_suspend(struct device *dev)\n"
+ " {\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct cb710_slot *slot = cb710_pdev_to_slot(pdev);\n"
+ " \tstruct mmc_host *mmc = cb710_slot_to_mmc(slot);\n"
+ " \tint err;\n"
+ " \n"
+ "-\terr = mmc_suspend_host(mmc, state);\n"
+ "+\terr = mmc_suspend_host(mmc);\n"
+ " \tif (err)\n"
+ " \t\treturn err;\n"
+ " \n"
+ "@@ -684,8 +685,9 @@ static int cb710_mmc_suspend(struct platform_device *pdev, pm_message_t state)\n"
+ " \treturn 0;\n"
+ " }\n"
+ " \n"
+ "-static int cb710_mmc_resume(struct platform_device *pdev)\n"
+ "+static int cb710_mmc_resume(struct device *dev)\n"
+ " {\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct cb710_slot *slot = cb710_pdev_to_slot(pdev);\n"
+ " \tstruct mmc_host *mmc = cb710_slot_to_mmc(slot);\n"
+ " \n"
+ "@@ -694,6 +696,10 @@ static int cb710_mmc_resume(struct platform_device *pdev)\n"
+ " \treturn mmc_resume_host(mmc);\n"
+ " }\n"
+ " \n"
+ "+static struct dev_pm_ops cm710_mmc_pm_ops = {\n"
+ "+\t.suspend = cb710_mmc_suspend,\n"
+ "+\t.resume = cb710_mmc_resume,\n"
+ "+};\n"
+ " #endif /* CONFIG_PM */\n"
+ " \n"
+ " static int __devinit cb710_mmc_init(struct platform_device *pdev)\n"
+ "@@ -776,13 +782,13 @@ static int __devexit cb710_mmc_exit(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " static struct platform_driver cb710_mmc_driver = {\n"
+ "-\t.driver.name = \"cb710-mmc\",\n"
+ "-\t.probe = cb710_mmc_init,\n"
+ "-\t.remove = __devexit_p(cb710_mmc_exit),\n"
+ "-#ifdef CONFIG_PM\n"
+ "-\t.suspend = cb710_mmc_suspend,\n"
+ "-\t.resume = cb710_mmc_resume,\n"
+ "-#endif\n"
+ "+\t.driver\t= {\n"
+ "+\t\t.name\t= \"cb710-mmc\",\n"
+ "+\t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &cb710_mmc_pm_ops,\n"
+ "+\t},\n"
+ "+\t.probe\t= cb710_mmc_init,\n"
+ "+\t.remove\t= __devexit_p(cb710_mmc_exit),\n"
+ " };\n"
+ " \n"
+ " static int __init cb710_mmc_init_module(void)\n"
+ "diff --git a/drivers/mmc/host/imxmmc.c b/drivers/mmc/host/imxmmc.c\n"
+ "index e0be21a..02bf3af 100644\n"
+ "--- a/drivers/mmc/host/imxmmc.c\n"
+ "+++ b/drivers/mmc/host/imxmmc.c\n"
+ "@@ -933,7 +933,7 @@ static void imxmci_check_status(unsigned long data)\n"
+ " \tmod_timer(&host->timer, jiffies + (HZ>>1));\n"
+ " }\n"
+ " \n"
+ "-static int __init imxmci_probe(struct platform_device *pdev)\n"
+ "+static int __devinit imxmci_probe(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc;\n"
+ " \tstruct imxmci_host *host = NULL;\n"
+ "@@ -1075,7 +1075,7 @@ out:\n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int __exit imxmci_remove(struct platform_device *pdev)\n"
+ "+static int __devexit imxmci_remove(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \n"
+ "@@ -1109,20 +1109,22 @@ static int __exit imxmci_remove(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int imxmci_suspend(struct platform_device *dev, pm_message_t state)\n"
+ "+static int imxmci_suspend(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tint ret = 0;\n"
+ " \n"
+ " \tif (mmc)\n"
+ "-\t\tret = mmc_suspend_host(mmc, state);\n"
+ "+\t\tret = mmc_suspend_host(mmc);\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int imxmci_resume(struct platform_device *dev)\n"
+ "+static int imxmci_resume(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tstruct imxmci_host *host;\n"
+ " \tint ret = 0;\n"
+ " \n"
+ "@@ -1135,24 +1137,26 @@ static int imxmci_resume(struct platform_device *dev)\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ "-#else\n"
+ "-#define imxmci_suspend  NULL\n"
+ "-#define imxmci_resume   NULL\n"
+ "-#endif /* CONFIG_PM */\n"
+ " \n"
+ "-static struct platform_driver imxmci_driver = {\n"
+ "-\t.remove\t\t= __exit_p(imxmci_remove),\n"
+ "+static struct dev_pm_ops imxmci_pm_ops = {\n"
+ " \t.suspend\t= imxmci_suspend,\n"
+ " \t.resume\t\t= imxmci_resume,\n"
+ "+};\n"
+ "+#endif /* CONFIG_PM */\n"
+ "+\n"
+ "+static struct platform_driver imxmci_driver = {\n"
+ "+\t.probe\t\t= imxmci_probe,\n"
+ "+\t.remove\t\t= __devexit_p(imxmci_remove),\n"
+ " \t.driver\t\t= {\n"
+ " \t\t.name\t\t= DRIVER_NAME,\n"
+ " \t\t.owner\t\t= THIS_MODULE,\n"
+ "-\t}\n"
+ "+\t\t.pm\t\t= &imxmci_pm_ops,\n"
+ "+\t},\n"
+ " };\n"
+ " \n"
+ " static int __init imxmci_init(void)\n"
+ " {\n"
+ "-\treturn platform_driver_probe(&imxmci_driver, imxmci_probe);\n"
+ "+\treturn platform_driver_register(&imxmci_driver);\n"
+ " }\n"
+ " \n"
+ " static void __exit imxmci_exit(void)\n"
+ "diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c\n"
+ "index e1aa847..4567c1f 100644\n"
+ "--- a/drivers/mmc/host/mmci.c\n"
+ "+++ b/drivers/mmc/host/mmci.c\n"
+ "@@ -676,7 +676,7 @@ static int mmci_suspend(struct amba_device *dev, pm_message_t state)\n"
+ " \tif (mmc) {\n"
+ " \t\tstruct mmci_host *host = mmc_priv(mmc);\n"
+ " \n"
+ "-\t\tret = mmc_suspend_host(mmc, state);\n"
+ "+\t\tret = mmc_suspend_host(mmc);\n"
+ " \t\tif (ret == 0)\n"
+ " \t\t\twritel(0, host->base + MMCIMASK0);\n"
+ " \t}\n"
+ "diff --git a/drivers/mmc/host/mvsdio.c b/drivers/mmc/host/mvsdio.c\n"
+ "index b56d72f..cff55d7 100644\n"
+ "--- a/drivers/mmc/host/mvsdio.c\n"
+ "+++ b/drivers/mmc/host/mvsdio.c\n"
+ "@@ -700,7 +700,7 @@ static void __init mv_conf_mbus_windows(struct mvsd_host *host,\n"
+ " \t}\n"
+ " }\n"
+ " \n"
+ "-static int __init mvsd_probe(struct platform_device *pdev)\n"
+ "+static int __devinit mvsd_probe(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc = NULL;\n"
+ " \tstruct mvsd_host *host = NULL;\n"
+ "@@ -833,7 +833,7 @@ out:\n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int __exit mvsd_remove(struct platform_device *pdev)\n"
+ "+static int __devexit mvsd_remove(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \n"
+ "@@ -859,20 +859,22 @@ static int __exit mvsd_remove(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int mvsd_suspend(struct platform_device *dev, pm_message_t state)\n"
+ "+static int mvsd_suspend(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tint ret = 0;\n"
+ " \n"
+ " \tif (mmc)\n"
+ "-\t\tret = mmc_suspend_host(mmc, state);\n"
+ "+\t\tret = mmc_suspend_host(mmc);\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int mvsd_resume(struct platform_device *dev)\n"
+ "+static int mvsd_resume(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tint ret = 0;\n"
+ " \n"
+ " \tif (mmc)\n"
+ "@@ -880,23 +882,26 @@ static int mvsd_resume(struct platform_device *dev)\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ "-#else\n"
+ "-#define mvsd_suspend\tNULL\n"
+ "-#define mvsd_resume\tNULL\n"
+ "-#endif\n"
+ " \n"
+ "-static struct platform_driver mvsd_driver = {\n"
+ "-\t.remove\t\t= __exit_p(mvsd_remove),\n"
+ "+static struct dev_pm_ops mvsd_pm_ops = {\n"
+ " \t.suspend\t= mvsd_suspend,\n"
+ " \t.resume\t\t= mvsd_resume,\n"
+ "+};\n"
+ "+#endif\n"
+ "+\n"
+ "+static struct platform_driver mvsd_driver = {\n"
+ "+\t.probe\t\t= mvsd_probe,\n"
+ "+\t.remove\t\t= __devexit_p(mvsd_remove),\n"
+ " \t.driver\t\t= {\n"
+ " \t\t.name\t= DRIVER_NAME,\n"
+ "+\t\t.owner\t= THIS_DRIVER,\n"
+ "+\t\t.pm\t= &mvsd_pm_ops,\n"
+ " \t},\n"
+ " };\n"
+ " \n"
+ " static int __init mvsd_init(void)\n"
+ " {\n"
+ "-\treturn platform_driver_probe(&mvsd_driver, mvsd_probe);\n"
+ "+\treturn platform_driver_register(&mvsd_driver);\n"
+ " }\n"
+ " \n"
+ " static void __exit mvsd_exit(void)\n"
+ "diff --git a/drivers/mmc/host/mxcmmc.c b/drivers/mmc/host/mxcmmc.c\n"
+ "index bc14bb1..676e40f 100644\n"
+ "--- a/drivers/mmc/host/mxcmmc.c\n"
+ "+++ b/drivers/mmc/host/mxcmmc.c\n"
+ "@@ -675,7 +675,7 @@ static const struct mmc_host_ops mxcmci_ops = {\n"
+ " \t.get_ro\t\t= mxcmci_get_ro,\n"
+ " };\n"
+ " \n"
+ "-static int mxcmci_probe(struct platform_device *pdev)\n"
+ "+static int __devinit mxcmci_probe(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc;\n"
+ " \tstruct mxcmci_host *host = NULL;\n"
+ "@@ -813,7 +813,7 @@ out_release_mem:\n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int mxcmci_remove(struct platform_device *pdev)\n"
+ "+static int __devexit mxcmci_remove(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tstruct mxcmci_host *host = mmc_priv(mmc);\n"
+ "@@ -842,20 +842,22 @@ static int mxcmci_remove(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int mxcmci_suspend(struct platform_device *dev, pm_message_t state)\n"
+ "+static int mxcmci_suspend(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tint ret = 0;\n"
+ " \n"
+ " \tif (mmc)\n"
+ "-\t\tret = mmc_suspend_host(mmc, state);\n"
+ "+\t\tret = mmc_suspend_host(mmc);\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int mxcmci_resume(struct platform_device *dev)\n"
+ "+static int mxcmci_resume(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tstruct mxcmci_host *host;\n"
+ " \tint ret = 0;\n"
+ " \n"
+ "@@ -866,19 +868,20 @@ static int mxcmci_resume(struct platform_device *dev)\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ "-#else\n"
+ "-#define mxcmci_suspend  NULL\n"
+ "-#define mxcmci_resume   NULL\n"
+ "+\n"
+ "+static struct dev_pm_ops mxcmci_pm_ops = {\n"
+ "+\t.suspend\t= mxcmci_suspend,\n"
+ "+\t.resume\t\t= mxcmci_resume,\n"
+ "+};\n"
+ " #endif /* CONFIG_PM */\n"
+ " \n"
+ " static struct platform_driver mxcmci_driver = {\n"
+ " \t.probe\t\t= mxcmci_probe,\n"
+ "-\t.remove\t\t= mxcmci_remove,\n"
+ "-\t.suspend\t= mxcmci_suspend,\n"
+ "-\t.resume\t\t= mxcmci_resume,\n"
+ "+\t.remove\t\t= __devexit_p(mxcmci_remove),\n"
+ " \t.driver\t\t= {\n"
+ " \t\t.name\t\t= DRIVER_NAME,\n"
+ " \t\t.owner\t\t= THIS_MODULE,\n"
+ "+\t\t.pm\t\t= &mxcmci_pm_ops,\n"
+ " \t}\n"
+ " };\n"
+ " \n"
+ "diff --git a/drivers/mmc/host/omap.c b/drivers/mmc/host/omap.c\n"
+ "index e7a331d..2fc3bb8 100644\n"
+ "--- a/drivers/mmc/host/omap.c\n"
+ "+++ b/drivers/mmc/host/omap.c\n"
+ "@@ -1392,7 +1392,7 @@ static void mmc_omap_remove_slot(struct mmc_omap_slot *slot)\n"
+ " \tmmc_free_host(mmc);\n"
+ " }\n"
+ " \n"
+ "-static int __init mmc_omap_probe(struct platform_device *pdev)\n"
+ "+static int __devinit mmc_omap_probe(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct omap_mmc_platform_data *pdata = pdev->dev.platform_data;\n"
+ " \tstruct mmc_omap_host *host = NULL;\n"
+ "@@ -1513,7 +1513,7 @@ err_free_mem_region:\n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int mmc_omap_remove(struct platform_device *pdev)\n"
+ "+static int __devexit mmc_omap_remove(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_omap_host *host = platform_get_drvdata(pdev);\n"
+ " \tint i;\n"
+ "@@ -1543,9 +1543,10 @@ static int mmc_omap_remove(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int mmc_omap_suspend(struct platform_device *pdev, pm_message_t mesg)\n"
+ "+static int mmc_omap_suspend(struct device *dev)\n"
+ " {\n"
+ " \tint i, ret = 0;\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct mmc_omap_host *host = platform_get_drvdata(pdev);\n"
+ " \n"
+ " \tif (host == NULL || host->suspended)\n"
+ "@@ -1555,7 +1556,7 @@ static int mmc_omap_suspend(struct platform_device *pdev, pm_message_t mesg)\n"
+ " \t\tstruct mmc_omap_slot *slot;\n"
+ " \n"
+ " \t\tslot = host->slots[i];\n"
+ "-\t\tret = mmc_suspend_host(slot->mmc, mesg);\n"
+ "+\t\tret = mmc_suspend_host(slot->mmc);\n"
+ " \t\tif (ret < 0) {\n"
+ " \t\t\twhile (--i >= 0) {\n"
+ " \t\t\t\tslot = host->slots[i];\n"
+ "@@ -1568,9 +1569,10 @@ static int mmc_omap_suspend(struct platform_device *pdev, pm_message_t mesg)\n"
+ " \treturn 0;\n"
+ " }\n"
+ " \n"
+ "-static int mmc_omap_resume(struct platform_device *pdev)\n"
+ "+static int mmc_omap_resume(struct device *dev)\n"
+ " {\n"
+ " \tint i, ret = 0;\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct mmc_omap_host *host = platform_get_drvdata(pdev);\n"
+ " \n"
+ " \tif (host == NULL || !host->suspended)\n"
+ "@@ -1587,15 +1589,15 @@ static int mmc_omap_resume(struct platform_device *pdev)\n"
+ " \t}\n"
+ " \treturn 0;\n"
+ " }\n"
+ "-#else\n"
+ "-#define mmc_omap_suspend\tNULL\n"
+ "-#define mmc_omap_resume\t\tNULL\n"
+ "+static struct dev_pm_ops mmc_omap_pm_ops = {\n"
+ "+\t.suspend\t= mmc_omap_suspend,\n"
+ "+\t.resume\t\t= mmc_omap_resume,\n"
+ "+};\n"
+ " #endif\n"
+ " \n"
+ " static struct platform_driver mmc_omap_driver = {\n"
+ "-\t.remove\t\t= mmc_omap_remove,\n"
+ "-\t.suspend\t= mmc_omap_suspend,\n"
+ "-\t.resume\t\t= mmc_omap_resume,\n"
+ "+\t.probe\t\t= mmc_omap_probe,\n"
+ "+\t.remove\t\t= __devexit_p(mmc_omap_remove),\n"
+ " \t.driver\t\t= {\n"
+ " \t\t.name\t= DRIVER_NAME,\n"
+ " \t\t.owner\t= THIS_MODULE,\n"
+ "@@ -1604,7 +1606,7 @@ static struct platform_driver mmc_omap_driver = {\n"
+ " \n"
+ " static int __init mmc_omap_init(void)\n"
+ " {\n"
+ "-\treturn platform_driver_probe(&mmc_omap_driver, mmc_omap_probe);\n"
+ "+\treturn platform_driver_register(&mmc_omap_driver);\n"
+ " }\n"
+ " \n"
+ " static void __exit mmc_omap_exit(void)\n"
+ "diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c\n"
+ "index 1cf9cfb..fd04f1e 100644\n"
+ "--- a/drivers/mmc/host/omap_hsmmc.c\n"
+ "+++ b/drivers/mmc/host/omap_hsmmc.c\n"
+ "@@ -967,7 +967,7 @@ static struct mmc_host_ops mmc_omap_ops = {\n"
+ " \t/* NYET -- enable_sdio_irq */\n"
+ " };\n"
+ " \n"
+ "-static int __init omap_mmc_probe(struct platform_device *pdev)\n"
+ "+static int __devinit omap_mmc_probe(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct omap_mmc_platform_data *pdata = pdev->dev.platform_data;\n"
+ " \tstruct mmc_host *mmc;\n"
+ "@@ -1180,7 +1180,7 @@ err:\n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int omap_mmc_remove(struct platform_device *pdev)\n"
+ "+static int __devexit omap_mmc_remove(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_omap_host *host = platform_get_drvdata(pdev);\n"
+ " \tstruct resource *res;\n"
+ "@@ -1216,16 +1216,17 @@ static int omap_mmc_remove(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int omap_mmc_suspend(struct platform_device *pdev, pm_message_t state)\n"
+ "+static int omap_mmc_suspend(struct device *pdev)\n"
+ " {\n"
+ " \tint ret = 0;\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct mmc_omap_host *host = platform_get_drvdata(pdev);\n"
+ " \n"
+ " \tif (host && host->suspended)\n"
+ " \t\treturn 0;\n"
+ " \n"
+ " \tif (host) {\n"
+ "-\t\tret = mmc_suspend_host(host->mmc, state);\n"
+ "+\t\tret = mmc_suspend_host(host->mmc);\n"
+ " \t\tif (ret == 0) {\n"
+ " \t\t\thost->suspended = 1;\n"
+ " \n"
+ "@@ -1253,9 +1254,10 @@ static int omap_mmc_suspend(struct platform_device *pdev, pm_message_t state)\n"
+ " }\n"
+ " \n"
+ " /* Routine to resume the MMC device */\n"
+ "-static int omap_mmc_resume(struct platform_device *pdev)\n"
+ "+static int omap_mmc_resume(struct device *pdev)\n"
+ " {\n"
+ " \tint ret = 0;\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ " \tstruct mmc_omap_host *host = platform_get_drvdata(pdev);\n"
+ " \n"
+ " \tif (host && !host->suspended)\n"
+ "@@ -1301,19 +1303,19 @@ clk_en_err:\n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-#else\n"
+ "-#define omap_mmc_suspend\tNULL\n"
+ "-#define omap_mmc_resume\t\tNULL\n"
+ "+static struct dev_pm_ops omap_mmc_pm_ops = {\n"
+ "+\t.suspend\t= omap_mmc_suspend,\n"
+ "+\t.resume\t\t= omap_mmc_resume,\n"
+ "+};\n"
+ " #endif\n"
+ " \n"
+ " static struct platform_driver omap_mmc_driver = {\n"
+ " \t.probe\t\t= omap_mmc_probe,\n"
+ "-\t.remove\t\t= omap_mmc_remove,\n"
+ "-\t.suspend\t= omap_mmc_suspend,\n"
+ "-\t.resume\t\t= omap_mmc_resume,\n"
+ "+\t.remove\t\t= __devexit_p(omap_mmc_remove),\n"
+ " \t.driver\t\t= {\n"
+ "-\t\t.name = DRIVER_NAME,\n"
+ "-\t\t.owner = THIS_MODULE,\n"
+ "+\t\t.name\t= DRIVER_NAME,\n"
+ "+\t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &omap_mmc_pm_ops,\n"
+ " \t},\n"
+ " };\n"
+ " \n"
+ "diff --git a/drivers/mmc/host/pxamci.c b/drivers/mmc/host/pxamci.c\n"
+ "index 972efa8..1fa867c 100644\n"
+ "--- a/drivers/mmc/host/pxamci.c\n"
+ "+++ b/drivers/mmc/host/pxamci.c\n"
+ "@@ -544,7 +544,7 @@ static irqreturn_t pxamci_detect_irq(int irq, void *devid)\n"
+ " \treturn IRQ_HANDLED;\n"
+ " }\n"
+ " \n"
+ "-static int pxamci_probe(struct platform_device *pdev)\n"
+ "+static int __devinit pxamci_probe(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc;\n"
+ " \tstruct pxamci_host *host = NULL;\n"
+ "@@ -750,7 +750,7 @@ err_gpio_ro:\n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int pxamci_remove(struct platform_device *pdev)\n"
+ "+static int __devexit pxamci_remove(struct platform_device *pdev)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tint gpio_cd = -1, gpio_ro = -1, gpio_power = -1;\n"
+ "@@ -804,20 +804,22 @@ static int pxamci_remove(struct platform_device *pdev)\n"
+ " }\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int pxamci_suspend(struct platform_device *dev, pm_message_t state)\n"
+ "+static int pxamci_suspend(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tint ret = 0;\n"
+ " \n"
+ " \tif (mmc)\n"
+ "-\t\tret = mmc_suspend_host(mmc, state);\n"
+ "+\t\tret = mmc_suspend_host(mmc);\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int pxamci_resume(struct platform_device *dev)\n"
+ "+static int pxamci_resume(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tint ret = 0;\n"
+ " \n"
+ " \tif (mmc)\n"
+ "@@ -825,19 +827,19 @@ static int pxamci_resume(struct platform_device *dev)\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ "-#else\n"
+ "-#define pxamci_suspend\tNULL\n"
+ "-#define pxamci_resume\tNULL\n"
+ "+static struct dev_pm_ops pxamci_pm_ops = {\n"
+ "+\t.suspend\t= pxamci_suspend,\n"
+ "+\t.resume\t\t= pxamci_resume,\n"
+ "+};\n"
+ " #endif\n"
+ " \n"
+ " static struct platform_driver pxamci_driver = {\n"
+ " \t.probe\t\t= pxamci_probe,\n"
+ "-\t.remove\t\t= pxamci_remove,\n"
+ "-\t.suspend\t= pxamci_suspend,\n"
+ "-\t.resume\t\t= pxamci_resume,\n"
+ "+\t.remove\t\t= __devexit_p(pxamci_remove),\n"
+ " \t.driver\t\t= {\n"
+ " \t\t.name\t= DRIVER_NAME,\n"
+ " \t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &pxamci_pm_ops,\n"
+ " \t},\n"
+ " };\n"
+ " \n"
+ "diff --git a/drivers/mmc/host/s3cmci.c b/drivers/mmc/host/s3cmci.c\n"
+ "index 8c08cd7..b3b3e1d 100644\n"
+ "--- a/drivers/mmc/host/s3cmci.c\n"
+ "+++ b/drivers/mmc/host/s3cmci.c\n"
+ "@@ -1492,54 +1492,60 @@ static int __devinit s3cmci_2440_probe(struct platform_device *dev)\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ " \n"
+ "-static int s3cmci_suspend(struct platform_device *dev, pm_message_t state)\n"
+ "+static int s3cmci_suspend(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \n"
+ "-\treturn  mmc_suspend_host(mmc, state);\n"
+ "+\treturn  mmc_suspend_host(mmc);\n"
+ " }\n"
+ " \n"
+ "-static int s3cmci_resume(struct platform_device *dev)\n"
+ "+static int s3cmci_resume(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \n"
+ " \treturn mmc_resume_host(mmc);\n"
+ " }\n"
+ " \n"
+ "-#else /* CONFIG_PM */\n"
+ "-#define s3cmci_suspend NULL\n"
+ "-#define s3cmci_resume NULL\n"
+ "+static struct dev_pm_ops s3cmci_pm_ops = {\n"
+ "+\t.suspend\t= s3cmci_suspend,\n"
+ "+\t.resume\t\t= s3cmci_resume,\n"
+ "+};\n"
+ " #endif /* CONFIG_PM */\n"
+ " \n"
+ " \n"
+ " static struct platform_driver s3cmci_2410_driver = {\n"
+ "-\t.driver.name\t= \"s3c2410-sdi\",\n"
+ "-\t.driver.owner\t= THIS_MODULE,\n"
+ "+\t.driver\t= {\n"
+ "+\t\t.name\t= \"s3c2410-sdi\",\n"
+ "+\t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &s3cmci_pm_ops,\n"
+ "+\t},\n"
+ " \t.probe\t\t= s3cmci_2410_probe,\n"
+ " \t.remove\t\t= __devexit_p(s3cmci_remove),\n"
+ " \t.shutdown\t= s3cmci_shutdown,\n"
+ "-\t.suspend\t= s3cmci_suspend,\n"
+ "-\t.resume\t\t= s3cmci_resume,\n"
+ " };\n"
+ " \n"
+ " static struct platform_driver s3cmci_2412_driver = {\n"
+ "-\t.driver.name\t= \"s3c2412-sdi\",\n"
+ "-\t.driver.owner\t= THIS_MODULE,\n"
+ "+\t.driver\t= {\n"
+ "+\t\t.name\t= \"s3c2412-sdi\",\n"
+ "+\t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &s3cmci_pm_ops,\n"
+ "+\t},\n"
+ " \t.probe\t\t= s3cmci_2412_probe,\n"
+ " \t.remove\t\t= __devexit_p(s3cmci_remove),\n"
+ " \t.shutdown\t= s3cmci_shutdown,\n"
+ "-\t.suspend\t= s3cmci_suspend,\n"
+ "-\t.resume\t\t= s3cmci_resume,\n"
+ " };\n"
+ " \n"
+ " static struct platform_driver s3cmci_2440_driver = {\n"
+ "-\t.driver.name\t= \"s3c2440-sdi\",\n"
+ "-\t.driver.owner\t= THIS_MODULE,\n"
+ "+\t.driver\t= {\n"
+ "+\t\t.name\t= \"s3c2440-sdi\",\n"
+ "+\t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &s3cmci_pm_ops,\n"
+ "+\t},\n"
+ " \t.probe\t\t= s3cmci_2440_probe,\n"
+ " \t.remove\t\t= __devexit_p(s3cmci_remove),\n"
+ " \t.shutdown\t= s3cmci_shutdown,\n"
+ "-\t.suspend\t= s3cmci_suspend,\n"
+ "-\t.resume\t\t= s3cmci_resume,\n"
+ " };\n"
+ " \n"
+ " \n"
+ "diff --git a/drivers/mmc/host/sdhci-of.c b/drivers/mmc/host/sdhci-of.c\n"
+ "index d79fa55..0370a96 100644\n"
+ "--- a/drivers/mmc/host/sdhci-of.c\n"
+ "+++ b/drivers/mmc/host/sdhci-of.c\n"
+ "@@ -194,7 +194,7 @@ static int sdhci_of_suspend(struct of_device *ofdev, pm_message_t state)\n"
+ " {\n"
+ " \tstruct sdhci_host *host = dev_get_drvdata(&ofdev->dev);\n"
+ " \n"
+ "-\treturn mmc_suspend_host(host->mmc, state);\n"
+ "+\treturn mmc_suspend_host(host->mmc);\n"
+ " }\n"
+ " \n"
+ " static int sdhci_of_resume(struct of_device *ofdev)\n"
+ "diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c\n"
+ "index 6779b4e..de8e763 100644\n"
+ "--- a/drivers/mmc/host/sdhci.c\n"
+ "+++ b/drivers/mmc/host/sdhci.c\n"
+ "@@ -1576,7 +1576,7 @@ int sdhci_suspend_host(struct sdhci_host *host, pm_message_t state)\n"
+ " \n"
+ " \tsdhci_disable_card_detection(host);\n"
+ " \n"
+ "-\tret = mmc_suspend_host(host->mmc, state);\n"
+ "+\tret = mmc_suspend_host(host->mmc);\n"
+ " \tif (ret)\n"
+ " \t\treturn ret;\n"
+ " \n"
+ "diff --git a/drivers/mmc/host/sdricoh_cs.c b/drivers/mmc/host/sdricoh_cs.c\n"
+ "index cb41e9c..e7507af 100644\n"
+ "--- a/drivers/mmc/host/sdricoh_cs.c\n"
+ "+++ b/drivers/mmc/host/sdricoh_cs.c\n"
+ "@@ -519,7 +519,7 @@ static int sdricoh_pcmcia_suspend(struct pcmcia_device *link)\n"
+ " {\n"
+ " \tstruct mmc_host *mmc = link->priv;\n"
+ " \tdev_dbg(&link->dev, \"suspend\\n\");\n"
+ "-\tmmc_suspend_host(mmc, PMSG_SUSPEND);\n"
+ "+\tmmc_suspend_host(mmc);\n"
+ " \treturn 0;\n"
+ " }\n"
+ " \n"
+ "diff --git a/drivers/mmc/host/tifm_sd.c b/drivers/mmc/host/tifm_sd.c\n"
+ "index 82554dd..cec9995 100644\n"
+ "--- a/drivers/mmc/host/tifm_sd.c\n"
+ "+++ b/drivers/mmc/host/tifm_sd.c\n"
+ "@@ -1032,7 +1032,7 @@ static void tifm_sd_remove(struct tifm_dev *sock)\n"
+ " \n"
+ " static int tifm_sd_suspend(struct tifm_dev *sock, pm_message_t state)\n"
+ " {\n"
+ "-\treturn mmc_suspend_host(tifm_get_drvdata(sock), state);\n"
+ "+\treturn mmc_suspend_host(tifm_get_drvdata(sock));\n"
+ " }\n"
+ " \n"
+ " static int tifm_sd_resume(struct tifm_dev *sock)\n"
+ "diff --git a/drivers/mmc/host/tmio_mmc.c b/drivers/mmc/host/tmio_mmc.c\n"
+ "index 91991b4..042d827 100644\n"
+ "--- a/drivers/mmc/host/tmio_mmc.c\n"
+ "+++ b/drivers/mmc/host/tmio_mmc.c\n"
+ "@@ -466,31 +466,33 @@ static struct mmc_host_ops tmio_mmc_ops = {\n"
+ " };\n"
+ " \n"
+ " #ifdef CONFIG_PM\n"
+ "-static int tmio_mmc_suspend(struct platform_device *dev, pm_message_t state)\n"
+ "+static int tmio_mmc_suspend(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mfd_cell\t*cell = (struct mfd_cell *)dev->dev.platform_data;\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mfd_cell\t*cell = (struct mfd_cell *)pdev->dev.platform_data;\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tint ret;\n"
+ " \n"
+ "-\tret = mmc_suspend_host(mmc, state);\n"
+ "+\tret = mmc_suspend_host(mmc);\n"
+ " \n"
+ " \t/* Tell MFD core it can disable us now.*/\n"
+ " \tif (!ret && cell->disable)\n"
+ "-\t\tcell->disable(dev);\n"
+ "+\t\tcell->disable(pdev);\n"
+ " \n"
+ " \treturn ret;\n"
+ " }\n"
+ " \n"
+ "-static int tmio_mmc_resume(struct platform_device *dev)\n"
+ "+static int tmio_mmc_resume(struct device *dev)\n"
+ " {\n"
+ "-\tstruct mfd_cell\t*cell = (struct mfd_cell *)dev->dev.platform_data;\n"
+ "-\tstruct mmc_host *mmc = platform_get_drvdata(dev);\n"
+ "+\tstruct platform_device *pdev = to_platform_device(dev);\n"
+ "+\tstruct mfd_cell\t*cell = (struct mfd_cell *)pdev->dev.platform_data;\n"
+ "+\tstruct mmc_host *mmc = platform_get_drvdata(pdev);\n"
+ " \tstruct tmio_mmc_host *host = mmc_priv(mmc);\n"
+ " \tint ret = 0;\n"
+ " \n"
+ " \t/* Tell the MFD core we are ready to be enabled */\n"
+ " \tif (cell->enable) {\n"
+ "-\t\tret = cell->enable(dev);\n"
+ "+\t\tret = cell->enable(pdev);\n"
+ " \t\tif (ret)\n"
+ " \t\t\tgoto out;\n"
+ " \t}\n"
+ "@@ -498,16 +500,18 @@ static int tmio_mmc_resume(struct platform_device *dev)\n"
+ " \t/* Enable the MMC/SD Control registers */\n"
+ " \tsd_config_write16(host, CNF_CMD, SDCREN);\n"
+ " \tsd_config_write32(host, CNF_CTL_BASE,\n"
+ "-\t\t(dev->resource[0].start >> host->bus_shift) & 0xfffe);\n"
+ "+\t\t(pdev->resource[0].start >> host->bus_shift) & 0xfffe);\n"
+ " \n"
+ " \tmmc_resume_host(mmc);\n"
+ " \n"
+ " out:\n"
+ " \treturn ret;\n"
+ " }\n"
+ "-#else\n"
+ "-#define tmio_mmc_suspend NULL\n"
+ "-#define tmio_mmc_resume NULL\n"
+ "+\n"
+ "+static struct dev_pm_ops tmio_mmc_pm_ops = {\n"
+ "+\t.suspend = tmio_mmc_suspend,\n"
+ "+\t.resume = tmio_mmc_resume,\n"
+ "+};\n"
+ " #endif\n"
+ " \n"
+ " static int __devinit tmio_mmc_probe(struct platform_device *dev)\n"
+ "@@ -637,13 +641,12 @@ static int __devexit tmio_mmc_remove(struct platform_device *dev)\n"
+ " \n"
+ " static struct platform_driver tmio_mmc_driver = {\n"
+ " \t.driver = {\n"
+ "-\t\t.name = \"tmio-mmc\",\n"
+ "-\t\t.owner = THIS_MODULE,\n"
+ "+\t\t.name\t= \"tmio-mmc\",\n"
+ "+\t\t.owner\t= THIS_MODULE,\n"
+ "+\t\t.pm\t= &tmio_mmc_pm_ops,\n"
+ " \t},\n"
+ "-\t.probe = tmio_mmc_probe,\n"
+ "-\t.remove = __devexit_p(tmio_mmc_remove),\n"
+ "-\t.suspend = tmio_mmc_suspend,\n"
+ "-\t.resume = tmio_mmc_resume,\n"
+ "+\t.probe\t= tmio_mmc_probe,\n"
+ "+\t.remove\t= __devexit_p(tmio_mmc_remove),\n"
+ " };\n"
+ " \n"
+ " \n"
+ "diff --git a/drivers/mmc/host/via-sdmmc.c b/drivers/mmc/host/via-sdmmc.c\n"
+ "index 632858a..19f2d72 100644\n"
+ "--- a/drivers/mmc/host/via-sdmmc.c\n"
+ "+++ b/drivers/mmc/host/via-sdmmc.c\n"
+ "@@ -1280,7 +1280,7 @@ static int via_sd_suspend(struct pci_dev *pcidev, pm_message_t state)\n"
+ " \tvia_save_pcictrlreg(host);\n"
+ " \tvia_save_sdcreg(host);\n"
+ " \n"
+ "-\tret = mmc_suspend_host(host->mmc, state);\n"
+ "+\tret = mmc_suspend_host(host->mmc);\n"
+ " \n"
+ " \tpci_save_state(pcidev);\n"
+ " \tpci_enable_wake(pcidev, pci_choose_state(pcidev, state), 0);\n"
+ "diff --git a/drivers/mmc/host/wbsd.c b/drivers/mmc/host/wbsd.c\n"
+ "index 89bf8cd..56e9c4e 100644\n"
+ "--- a/drivers/mmc/host/wbsd.c\n"
+ "+++ b/drivers/mmc/host/wbsd.c\n"
+ "@@ -1818,7 +1818,7 @@ static int wbsd_suspend(struct wbsd_host *host, pm_message_t state)\n"
+ " {\n"
+ " \tBUG_ON(host == NULL);\n"
+ " \n"
+ "-\treturn mmc_suspend_host(host->mmc, state);\n"
+ "+\treturn mmc_suspend_host(host->mmc);\n"
+ " }\n"
+ " \n"
+ " static int wbsd_resume(struct wbsd_host *host)\n"
+ "diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h\n"
+ "index 3e7615e..710ae3a 100644\n"
+ "--- a/include/linux/mmc/host.h\n"
+ "+++ b/include/linux/mmc/host.h\n"
+ "@@ -180,7 +180,7 @@ static inline void *mmc_priv(struct mmc_host *host)\n"
+ " #define mmc_classdev(x)\t(&(x)->class_dev)\n"
+ " #define mmc_hostname(x)\t(dev_name(&(x)->class_dev))\n"
+ " \n"
+ "-extern int mmc_suspend_host(struct mmc_host *, pm_message_t);\n"
+ "+extern int mmc_suspend_host(struct mmc_host *);\n"
+ " extern int mmc_resume_host(struct mmc_host *);\n"
+ " \n"
+ " extern void mmc_detect_change(struct mmc_host *, unsigned long delay);\n"
+ "-- \n"
+ 1.6.3.3
 
-e129c27c49608e6a64d70994f2c664486ab685ef8278733cb3f0f91cb6f793fc
+d6e20ff560c3a9199136fb0c171e603af9661d12a68cc9e254deb9f20eb9880c

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.