[RFC 3/5] usb: xhci-plat: enable async suspend/resume
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 Reviewed-by: Julius Werner jwer...@chromium.org Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com --- drivers/usb/host/xhci-plat.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 8abda5c..1bc1565 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -162,6 +162,8 @@ static int xhci_plat_probe(struct platform_device *pdev) if (ret) goto put_usb3_hcd; + device_enable_async_suspend(pdev-dev); + return 0; put_usb3_hcd: -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC 5/5] usb: dwc3: enable async suspend/resume
From: Andrew Bresticker abres...@chromium.org In addition to enabling async suspend/resume on the xhci-plat device, we must enable it for the dwc3 device (the parent of xhci-plat) in order to make the full USB stack resume asynchronously. Like the xhci-plat, ehci-s5p, and ohci-exynos drivers, there are no outside dependencies which would make resuming the dwc3 driver asynchronously unsafe. Signed-off-by: Andrew Bresticker abres...@chromium.org Reviewed-by: Julius Werner jwer...@chromium.org Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com --- drivers/usb/dwc3/core.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c index 59bb8d2..9c8a273 100644 --- a/drivers/usb/dwc3/core.c +++ b/drivers/usb/dwc3/core.c @@ -586,6 +586,8 @@ static int dwc3_probe(struct platform_device *pdev) pm_runtime_allow(dev); + device_enable_async_suspend(dev); + return 0; err3: -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC 4/5] usb: dwc3-exynos: enable async suspend/resume
From: Andrew Bresticker abres...@chromium.org In addition to enabling async suspend/resume on the xhci-plat device, we must enable it for the dwc3-exynos platform device in order to make the full USB stack resume asynchronously. Like the xhci-plat, ehci-s5p, and ohci-exynos drivers, there are no outside dependencies which would make resuming the dwc3-exynos driver asynchronously unsafe. Signed-off-by: Andrew Bresticker abres...@chromium.org Reviewed-by: Julius Werner jwer...@chromium.org Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com --- drivers/usb/dwc3/dwc3-exynos.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c index 8b20c70..57431b7 100644 --- a/drivers/usb/dwc3/dwc3-exynos.c +++ b/drivers/usb/dwc3/dwc3-exynos.c @@ -155,6 +155,8 @@ static int dwc3_exynos_probe(struct platform_device *pdev) goto err2; } + device_enable_async_suspend(dev); + return 0; err2: -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC 1/5] usb: ohci-exynos: enable async suspend/resume
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 Exynos OHCI 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 Reviewed-by: Julius Werner jwer...@chromium.org Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com --- drivers/usb/host/ohci-exynos.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/host/ohci-exynos.c b/drivers/usb/host/ohci-exynos.c index 68588d8..faad2bdc 100644 --- a/drivers/usb/host/ohci-exynos.c +++ b/drivers/usb/host/ohci-exynos.c @@ -137,6 +137,8 @@ skip_phy: if (exynos_ohci-otg) exynos_ohci-otg-set_host(exynos_ohci-otg, hcd-self); + device_enable_async_suspend(pdev-dev); + platform_set_drvdata(pdev, hcd); exynos_ohci_phy_enable(pdev); -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[RFC 2/5] usb: ehci-s5p: enable async suspend/resume
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 Exynos EHCI 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 Reviewed-by: Julius Werner jwer...@chromium.org Signed-off-by: Yuvaraj Kumar C D yuvaraj...@samsung.com --- drivers/usb/host/ehci-exynos.c |2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/host/ehci-exynos.c b/drivers/usb/host/ehci-exynos.c index f7ce8e2..e5125cd 100644 --- a/drivers/usb/host/ehci-exynos.c +++ b/drivers/usb/host/ehci-exynos.c @@ -165,6 +165,8 @@ skip_phy: } device_wakeup_enable(hcd-self.controller); + device_enable_async_suspend(pdev-dev); + platform_set_drvdata(pdev, hcd); return 0; -- 1.7.9.5 -- To unsubscribe from this list: send the line unsubscribe linux-omap in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html