on 2024/8/22 21:19, Andy Shevchenko wrote:
On Thu, Aug 22, 2024 at 11:39:09AM +0800, Lei Liu wrote:
The devm_clk_get_enabled() helpers:
- call devm_clk_get()
- call clk_prepare_enable() and register what is needed in order to
call clk_disable_unprepare() when needed, as a managed resource.
This simplifies the code and avoids calls to clk_disable_unprepare().
...
- mps_port->clk = devm_clk_get(&pdev->dev, NULL);
+ mps_port->clk = devm_clk_get_enabled(&pdev->dev, NULL);
if (IS_ERR(mps_port->clk))
return PTR_ERR(mps_port->clk);
- ret = clk_prepare_enable(mps_port->clk);
- if (ret)
- return ret;
-
mps_port->port.uartclk = clk_get_rate(mps_port->clk);
- clk_disable_unprepare(mps_port->clk);
Your change is not equivalent. In case this clock is shared this may lead to
run-time issues. Hence I don't think this patch is needed in this case.
Instead, you may add a comment on top of devm_clk_get() to explain that we only
need it be enabled to get clock rate in the probe.
Thank you for your suggestion. I will adopt your advice in the second
version of the patch and make no changes.
---
With Best Regards,
Lei Liu