exynos_dwmci_get_config() is called from the probe function and used to
read data from device tree. Make use of .of_to_plat driver callback
instead, and convert exynos_dwmci_get_config() to match its signature.

No functional change.

Signed-off-by: Sam Protsenko <semen.protse...@linaro.org>
---
 drivers/mmc/exynos_dw_mmc.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/mmc/exynos_dw_mmc.c b/drivers/mmc/exynos_dw_mmc.c
index 8a3f73e3739c..34485311c107 100644
--- a/drivers/mmc/exynos_dw_mmc.c
+++ b/drivers/mmc/exynos_dw_mmc.c
@@ -224,10 +224,12 @@ static int do_dwmci_init(struct dwmci_host *host)
        return exynos_dwmci_core_init(host);
 }
 
-static int exynos_dwmci_get_config(struct udevice *dev, const void *blob,
-                                  int node, struct dwmci_host *host,
-                                  struct dwmci_exynos_priv_data *priv)
+static int exynos_dwmmc_of_to_plat(struct udevice *dev)
 {
+       const void *blob = gd->fdt_blob;
+       struct dwmci_exynos_priv_data *priv = dev_get_priv(dev);
+       struct dwmci_host *host = &priv->host;
+       int node = dev_of_offset(dev);
        int err = 0;
        u32 timing[3];
 
@@ -302,10 +304,6 @@ static int exynos_dwmmc_probe(struct udevice *dev)
                return err;
 #endif
 
-       err = exynos_dwmci_get_config(dev, gd->fdt_blob, dev_of_offset(dev),
-                                     host, priv);
-       if (err)
-               return err;
        err = do_dwmci_init(host);
        if (err)
                return err;
@@ -336,6 +334,7 @@ U_BOOT_DRIVER(exynos_dwmmc_drv) = {
        .name           = "exynos_dwmmc",
        .id             = UCLASS_MMC,
        .of_match       = exynos_dwmmc_ids,
+       .of_to_plat     = exynos_dwmmc_of_to_plat,
        .bind           = exynos_dwmmc_bind,
        .ops            = &dm_dwmci_ops,
        .probe          = exynos_dwmmc_probe,
-- 
2.39.2

Reply via email to