From 9257a91d4d912d7be0d37f0ceaa6a1936eceef95 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 Signed-off-by: Frank Wang --- 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 e91ccecaebbe..cee7c1c17d1f 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -1814,6 +1815,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); @@ -1892,6 +1897,8 @@ next_child: 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);