mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 09:33:31 +02:00
mmc: sdhci-esdhc-imx: obtain the 'per' clock rate after its enablement
The I.MX SDHCI driver assumes that the frequency of the 'per' clock can be obtained even on disabled clocks, which is not always the case. According to 'clk_get_rate' documentation, it is only valid once the clock source has been enabled. Signed-off-by: Ciprian Costea <ciprianmarian.costea@oss.nxp.com> Reviewed-by: Haibo Chen <haibo.chen@nxp.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Link: https://lore.kernel.org/r/20240708121018.246476-3-ciprianmarian.costea@oss.nxp.com Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
a52b67bdf4
commit
63e555d9bf
|
|
@ -1709,7 +1709,6 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
|
|||
}
|
||||
|
||||
pltfm_host->clk = imx_data->clk_per;
|
||||
pltfm_host->clock = clk_get_rate(pltfm_host->clk);
|
||||
err = clk_prepare_enable(imx_data->clk_per);
|
||||
if (err)
|
||||
goto free_sdhci;
|
||||
|
|
@ -1720,6 +1719,13 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
|
|||
if (err)
|
||||
goto disable_ipg_clk;
|
||||
|
||||
pltfm_host->clock = clk_get_rate(pltfm_host->clk);
|
||||
if (!pltfm_host->clock) {
|
||||
dev_err(mmc_dev(host->mmc), "could not get clk rate\n");
|
||||
err = -EINVAL;
|
||||
goto disable_ahb_clk;
|
||||
}
|
||||
|
||||
imx_data->pinctrl = devm_pinctrl_get(&pdev->dev);
|
||||
if (IS_ERR(imx_data->pinctrl))
|
||||
dev_warn(mmc_dev(host->mmc), "could not get pinctrl\n");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user