From: Ulf Hansson Date: Mon, 10 Jun 2013 15:03:40 +0000 (+0200) Subject: mmc: core: Handle card shutdown from mmc_bus X-Git-Tag: firefly_0821_release~6165^2~14 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a96f0611079cfea124840fc0820609174d731dfa;p=firefly-linux-kernel-4.4.55.git mmc: core: Handle card shutdown from mmc_bus Considering shutdown of the card, the responsibility to initate this sequence shall be driven from the mmc_bus. This patch enables the mmc_bus to handle this sequence properly. A new .shutdown callback is added in the mmc_driver struct which is used to shutdown the blk device. Signed-off-by: Ulf Hansson Signed-off-by: Chris Ball Conflicts: drivers/mmc/core/bus.c --- diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c index cdca8a70da38..42c1bbc47daa 100644 --- a/drivers/mmc/core/bus.c +++ b/drivers/mmc/core/bus.c @@ -126,18 +126,8 @@ static void mmc_bus_shutdown(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->shutdown) - drv->shutdown(card); - if (host->bus_ops->shutdown) { - ret = host->bus_ops->shutdown(host); - if (ret) - pr_warn("%s: error %d during shutdown\n", - mmc_hostname(host), ret); - } + drv->shutdown(card); } #ifdef CONFIG_PM_SLEEP