From: Fu, Zhonghui <zhonghui.fu@linux.intel.com>
Date: Fri, 22 Jan 2016 03:32:18 +0000 (+0800)
Subject: mmc: core: enable mmc host device to suspend/resume asynchronously
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ccf7bfdc360820b4e089d7576eb074280c5ab4a3;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git

mmc: core: enable mmc host device to suspend/resume asynchronously

This patch enables mmc hosts to suspend/resume asynchronously.
This will improve system suspend/resume speed. After applying
this patch and enabling all mmc hosts' child devices to
suspend/resume asynchronously on ASUS T100TA, the system
suspend-to-idle time is reduced from 1645ms to 1107ms, and the
system resume time is reduced from 940ms to 914ms.

Signed-off-by: Zhonghui Fu <zhonghui.fu@linux.intel.com>
Acked-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---

diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c
index 0aecd5c00b86..1d94607611d8 100644
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -339,6 +339,7 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)
 	host->class_dev.parent = dev;
 	host->class_dev.class = &mmc_host_class;
 	device_initialize(&host->class_dev);
+	device_enable_async_suspend(&host->class_dev);
 
 	if (mmc_gpio_alloc(host)) {
 		put_device(&host->class_dev);