diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/mmc/core/bus.c | 19 | ||||
-rw-r--r-- | drivers/mmc/core/core.c | 26 |
2 files changed, 19 insertions, 26 deletions
diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c index d9e8c2b7f4c5..3b7ca8ac0e61 100644 --- a/drivers/mmc/core/bus.c +++ b/drivers/mmc/core/bus.c | |||
@@ -127,10 +127,16 @@ static int mmc_bus_suspend(struct device *dev) | |||
127 | { | 127 | { |
128 | struct mmc_driver *drv = to_mmc_driver(dev->driver); | 128 | struct mmc_driver *drv = to_mmc_driver(dev->driver); |
129 | struct mmc_card *card = mmc_dev_to_card(dev); | 129 | struct mmc_card *card = mmc_dev_to_card(dev); |
130 | int ret = 0; | 130 | struct mmc_host *host = card->host; |
131 | int ret; | ||
131 | 132 | ||
132 | if (dev->driver && drv->suspend) | 133 | if (dev->driver && drv->suspend) { |
133 | ret = drv->suspend(card); | 134 | ret = drv->suspend(card); |
135 | if (ret) | ||
136 | return ret; | ||
137 | } | ||
138 | |||
139 | ret = host->bus_ops->suspend(host); | ||
134 | return ret; | 140 | return ret; |
135 | } | 141 | } |
136 | 142 | ||
@@ -138,10 +144,17 @@ static int mmc_bus_resume(struct device *dev) | |||
138 | { | 144 | { |
139 | struct mmc_driver *drv = to_mmc_driver(dev->driver); | 145 | struct mmc_driver *drv = to_mmc_driver(dev->driver); |
140 | struct mmc_card *card = mmc_dev_to_card(dev); | 146 | struct mmc_card *card = mmc_dev_to_card(dev); |
141 | int ret = 0; | 147 | struct mmc_host *host = card->host; |
148 | int ret; | ||
149 | |||
150 | ret = host->bus_ops->resume(host); | ||
151 | if (ret) | ||
152 | pr_warn("%s: error %d during resume (card was removed?)\n", | ||
153 | mmc_hostname(host), ret); | ||
142 | 154 | ||
143 | if (dev->driver && drv->resume) | 155 | if (dev->driver && drv->resume) |
144 | ret = drv->resume(card); | 156 | ret = drv->resume(card); |
157 | |||
145 | return ret; | 158 | return ret; |
146 | } | 159 | } |
147 | #endif | 160 | #endif |
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index da3b9078ea65..49a5bca418bd 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c | |||
@@ -2619,16 +2619,8 @@ EXPORT_SYMBOL(mmc_cache_ctrl); | |||
2619 | */ | 2619 | */ |
2620 | int mmc_suspend_host(struct mmc_host *host) | 2620 | int mmc_suspend_host(struct mmc_host *host) |
2621 | { | 2621 | { |
2622 | int err = 0; | 2622 | /* This function is deprecated */ |
2623 | 2623 | return 0; | |
2624 | mmc_bus_get(host); | ||
2625 | if (host->bus_ops && !host->bus_dead) { | ||
2626 | if (host->bus_ops->suspend) | ||
2627 | err = host->bus_ops->suspend(host); | ||
2628 | } | ||
2629 | mmc_bus_put(host); | ||
2630 | |||
2631 | return err; | ||
2632 | } | 2624 | } |
2633 | EXPORT_SYMBOL(mmc_suspend_host); | 2625 | EXPORT_SYMBOL(mmc_suspend_host); |
2634 | 2626 | ||
@@ -2638,19 +2630,7 @@ EXPORT_SYMBOL(mmc_suspend_host); | |||
2638 | */ | 2630 | */ |
2639 | int mmc_resume_host(struct mmc_host *host) | 2631 | int mmc_resume_host(struct mmc_host *host) |
2640 | { | 2632 | { |
2641 | int err; | 2633 | /* This function is deprecated */ |
2642 | |||
2643 | mmc_bus_get(host); | ||
2644 | if (host->bus_ops && !host->bus_dead) { | ||
2645 | BUG_ON(!host->bus_ops->resume); | ||
2646 | err = host->bus_ops->resume(host); | ||
2647 | if (err) | ||
2648 | pr_warning("%s: error %d during resume " | ||
2649 | "(card was removed?)\n", | ||
2650 | mmc_hostname(host), err); | ||
2651 | } | ||
2652 | mmc_bus_put(host); | ||
2653 | |||
2654 | return 0; | 2634 | return 0; |
2655 | } | 2635 | } |
2656 | EXPORT_SYMBOL(mmc_resume_host); | 2636 | EXPORT_SYMBOL(mmc_resume_host); |