From: Andrew Bresticker <abres...@chromium.org>

USB host controllers can take a significant amount of time to suspend
and resume, adding several hundred miliseconds to the kernel resume
time. Since the XHCI controller has no outside dependencies (other than
clocks, which are suspended late/resumed early), allow it to suspend and
resume asynchronously.

Signed-off-by: Andrew Bresticker <abres...@chromium.org>
Tested-by: Andrew Bresticker <abres...@chromium.org>
Tested-by: Robert Foss <robert.f...@collabora.com>
Signed-off-by: Robert Foss <robert.f...@collabora.com>
---
 drivers/usb/host/xhci-plat.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index fbd45c2..ce3375d 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -248,6 +248,7 @@ static int xhci_plat_probe(struct platform_device *pdev)
 
        pm_runtime_set_active(&pdev->dev);
        pm_runtime_enable(&pdev->dev);
+       device_enable_async_suspend(&pdev->dev);
 
        return 0;
 
-- 
2.7.4

Reply via email to