On 08/10/2024 05:07, Frank Wang wrote: >>> + } >>> + >>> + if (!IS_ERR(refclk)) { >>> + clk_name = __clk_get_name(refclk); >>> init.parent_names = &clk_name; >>> init.num_parents = 1; >>> } else { >>> @@ -1406,18 +1424,29 @@ static int rockchip_usb2phy_probe(struct platform_device *pdev) >>> if (IS_ERR(rphy->phy_reset)) >>> return PTR_ERR(rphy->phy_reset); >>> >>> - rphy->clk = devm_clk_get_optional_enabled(dev, "phyclk"); >>> - if (IS_ERR(rphy->clk)) { >>> - return dev_err_probe(&pdev->dev, PTR_ERR(rphy->clk), >>> + ret = devm_clk_bulk_get_all(dev, &rphy->clks); >>> + if (ret == -EPROBE_DEFER) { >> This does not make much sense. Why would you proceed on other critical >> errors? >> >> You want to use optional variant, I guess? > > Yes, the clock properties are optional. And? So are you going to use optional variant of clk get or not? Is it appropriate? Are you going to improve it? Best regards, Krzysztof