From 023c49634714a482d952b3d626a614657285272b Mon Sep 17 00:00:00 2001 From: William Wu Date: Mon, 8 Apr 2019 09:27:14 +0800 Subject: [PATCH] phy: rockchip-inno-usb2: add basic runtime PM support Adds pm_runtime support for some rockchip SoCs (e.g. rk3399) which support power domain for USB 2.0 PHY. Change-Id: I4c78075c884b3baf6d709e08e3464b214524d685 Signed-off-by: William Wu --- drivers/phy/rockchip/phy-rockchip-inno-usb2.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c index 39144062ea6b..9d91adaf2d97 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -1806,6 +1807,10 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev) return -EINVAL; } + pm_runtime_set_active(dev); + pm_runtime_enable(dev); + pm_runtime_get_sync(dev); + rphy->clk = of_clk_get_by_name(np, "phyclk"); if (!IS_ERR(rphy->clk)) { clk_prepare_enable(rphy->clk); @@ -1884,6 +1889,8 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev) put_child: of_node_put(child_np); disable_clks: + pm_runtime_put_sync(dev); + pm_runtime_disable(dev); if (rphy->clk) { clk_disable_unprepare(rphy->clk); clk_put(rphy->clk);