mmc: renesas_sdhi: probe into TMIO after SCC parameters have been setup
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Tue, 10 Nov 2020 14:20:56 +0000 (15:20 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 16 Nov 2020 11:48:14 +0000 (12:48 +0100)
Setting up the SCC parameters does not need a probed TMIO device. But in
the near future, probing the TMIO device needs the SCC parameters setup.
So, fix the ordering.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/20201110142058.36393-3-wsa+renesas@sang-engineering.com
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/renesas_sdhi_core.c

index a395f835e836f961d187476e470ea20000555d74..17ebaa324ca1e463473a6fa422833f323a0d687a 100644 (file)
@@ -1067,10 +1067,6 @@ int renesas_sdhi_probe(struct platform_device *pdev,
                        quirks->hs400_calib_table + 1);
        }
 
-       ret = tmio_mmc_host_probe(host);
-       if (ret < 0)
-               goto edisclk;
-
        /* Enable tuning iff we have an SCC and a supported mode */
        if (of_data && of_data->scc_offset &&
            (host->mmc->caps & MMC_CAP_UHS_SDR104 ||
@@ -1102,6 +1098,10 @@ int renesas_sdhi_probe(struct platform_device *pdev,
                host->ops.hs400_complete = renesas_sdhi_hs400_complete;
        }
 
+       ret = tmio_mmc_host_probe(host);
+       if (ret < 0)
+               goto edisclk;
+
        num_irqs = platform_irq_count(pdev);
        if (num_irqs < 0) {
                ret = num_irqs;