From cf15e865dd6606b800c9916bdca2b8220780a84c Mon Sep 17 00:00:00 2001 From: Tony Lindgren Date: Thu, 25 May 2017 09:13:31 -0700 Subject: [PATCH] BACKPORT: usb: host: ohci-platform: Add basic runtime PM support This is needed in preparation of adding support for omap3 and later OHCI. The runtime PM will only do something on platforms that implement it. Change-Id: I497d03902648e7c4010a2de24d4cb8490887ee85 Cc: devicetree@vger.kernel.org Cc: Hans de Goede Cc: Rob Herring Cc: Sebastian Reichel Cc: Yoshihiro Shimoda Signed-off-by: Tony Lindgren Acked-by: Roger Quadros Acked-by: Alan Stern Signed-off-by: Greg Kroah-Hartman Signed-off-by: William Wu (cherry picked from commit 0aa0b93e7af663b6ca9d9ae31d1b73f2c36ddf46) --- drivers/usb/host/ohci-platform.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/usb/host/ohci-platform.c b/drivers/usb/host/ohci-platform.c index c47e7ab2af47..9a21aa211d3d 100644 --- a/drivers/usb/host/ohci-platform.c +++ b/drivers/usb/host/ohci-platform.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -236,6 +237,9 @@ static int ohci_platform_probe(struct platform_device *dev) } #endif + pm_runtime_set_active(&dev->dev); + pm_runtime_enable(&dev->dev); + pm_runtime_get_sync(&dev->dev); if (pdata->power_on) { err = pdata->power_on(dev); if (err < 0) @@ -267,6 +271,8 @@ err_power: if (pdata->power_off) pdata->power_off(dev); err_reset: + pm_runtime_put_sync(&dev->dev); + pm_runtime_disable(&dev->dev); if (priv->rst) reset_control_assert(priv->rst); err_put_clks: @@ -301,6 +307,9 @@ static int ohci_platform_remove(struct platform_device *dev) usb_put_hcd(hcd); + pm_runtime_put_sync(&dev->dev); + pm_runtime_disable(&dev->dev); + if (pdata == &ohci_platform_defaults) dev->dev.platform_data = NULL;