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. -- With Best Regards, Andy Shevchenko