forked from Minki/linux
mmc: core: Convert the mmc_driver to use the modern PM ops
Instead of having specific mmc system PM callbacks for the mmc driver, let's convert to use the common ones. Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
433b7b1210
commit
0967edc6ef
@ -2516,15 +2516,17 @@ static void mmc_blk_shutdown(struct mmc_card *card)
|
||||
_mmc_blk_suspend(card);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM
|
||||
static int mmc_blk_suspend(struct mmc_card *card)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int mmc_blk_suspend(struct device *dev)
|
||||
{
|
||||
struct mmc_card *card = mmc_dev_to_card(dev);
|
||||
return _mmc_blk_suspend(card);
|
||||
}
|
||||
|
||||
static int mmc_blk_resume(struct mmc_card *card)
|
||||
static int mmc_blk_resume(struct device *dev)
|
||||
{
|
||||
struct mmc_blk_data *part_md;
|
||||
struct mmc_card *card = mmc_dev_to_card(dev);
|
||||
struct mmc_blk_data *md = mmc_get_drvdata(card);
|
||||
|
||||
if (md) {
|
||||
@ -2540,19 +2542,17 @@ static int mmc_blk_resume(struct mmc_card *card)
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
#define mmc_blk_suspend NULL
|
||||
#define mmc_blk_resume NULL
|
||||
#endif
|
||||
|
||||
static SIMPLE_DEV_PM_OPS(mmc_blk_pm_ops, mmc_blk_suspend, mmc_blk_resume);
|
||||
|
||||
static struct mmc_driver mmc_driver = {
|
||||
.drv = {
|
||||
.name = "mmcblk",
|
||||
.pm = &mmc_blk_pm_ops,
|
||||
},
|
||||
.probe = mmc_blk_probe,
|
||||
.remove = mmc_blk_remove,
|
||||
.suspend = mmc_blk_suspend,
|
||||
.resume = mmc_blk_resume,
|
||||
.shutdown = mmc_blk_shutdown,
|
||||
};
|
||||
|
||||
|
@ -145,16 +145,13 @@ static void mmc_bus_shutdown(struct device *dev)
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static int mmc_bus_suspend(struct device *dev)
|
||||
{
|
||||
struct mmc_driver *drv = to_mmc_driver(dev->driver);
|
||||
struct mmc_card *card = mmc_dev_to_card(dev);
|
||||
struct mmc_host *host = card->host;
|
||||
int ret;
|
||||
|
||||
if (dev->driver && drv->suspend) {
|
||||
ret = drv->suspend(card);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
ret = pm_generic_suspend(dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = host->bus_ops->suspend(host);
|
||||
return ret;
|
||||
@ -162,7 +159,6 @@ static int mmc_bus_suspend(struct device *dev)
|
||||
|
||||
static int mmc_bus_resume(struct device *dev)
|
||||
{
|
||||
struct mmc_driver *drv = to_mmc_driver(dev->driver);
|
||||
struct mmc_card *card = mmc_dev_to_card(dev);
|
||||
struct mmc_host *host = card->host;
|
||||
int ret;
|
||||
@ -172,9 +168,7 @@ static int mmc_bus_resume(struct device *dev)
|
||||
pr_warn("%s: error %d during resume (card was removed?)\n",
|
||||
mmc_hostname(host), ret);
|
||||
|
||||
if (dev->driver && drv->resume)
|
||||
ret = drv->resume(card);
|
||||
|
||||
ret = pm_generic_resume(dev);
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user