diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c index 1f4a9426eec1..1e865eff1c9a 100644 --- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -383,7 +383,7 @@ static int rockchip_usb2phy_clk480m_register(struct rockchip_usb2phy *rphy) { struct device_node *node = rphy->dev->of_node; - struct clk_init_data init; + struct clk_init_data init = {}; const char *clk_name; int ret; @@ -1808,12 +1808,6 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev) rphy->clk = NULL; } - ret = rockchip_usb2phy_clk480m_register(rphy); - if (ret) { - dev_err(dev, "failed to register 480m output clock\n"); - goto disable_clks; - } - if (rphy->phy_cfg->phy_tuning) { ret = rphy->phy_cfg->phy_tuning(rphy); if (ret) @@ -1873,6 +1867,12 @@ next_child: goto put_child; } + ret = rockchip_usb2phy_clk480m_register(rphy); + if (ret) { + dev_err(dev, "failed to register 480m output clock\n"); + goto put_child; + } + return 0; put_child: