If there is a SDnH clock provided in DT, let's use it instead of relying on the fallback. Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> --- drivers/mmc/host/renesas_sdhi_core.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/host/renesas_sdhi_core.c b/drivers/mmc/host/renesas_sdhi_core.c index 100f86d311ea..41a5ee80c661 100644 --- a/drivers/mmc/host/renesas_sdhi_core.c +++ b/drivers/mmc/host/renesas_sdhi_core.c @@ -922,8 +922,16 @@ int renesas_sdhi_probe(struct platform_device *pdev, return ret; } + priv->clkh = devm_clk_get_optional(&pdev->dev, "clkh"); + if (IS_ERR(priv->clkh)) { + ret = PTR_ERR(priv->clkh); + dev_err(&pdev->dev, "cannot get clockh: %d\n", ret); + return ret; + } + /* Fallback for old DTs */ - if (of_device_is_compatible(pdev->dev.of_node, "renesas,rcar-gen3-sdhi")) + if (!priv->clkh && + of_device_is_compatible(pdev->dev.of_node, "renesas,rcar-gen3-sdhi")) priv->clkh = clk_get_parent(clk_get_parent(priv->clk)); /* -- 2.30.2