]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: exynos_dw_mmc: Pull all init code into probe function
authorSam Protsenko <semen.protsenko@linaro.org>
Thu, 8 Aug 2024 03:14:38 +0000 (22:14 -0500)
committerMinkyu Kang <mk7.kang@samsung.com>
Mon, 19 Aug 2024 07:09:06 +0000 (16:09 +0900)
There is no logical sense to split the initialization code between
multiple functions. Pull both do_dwmci_init() and
exynos_dwmci_core_init() into exynos_dwmmc_probe() to make the code more
simple and obvious.

No functional change.

Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
drivers/mmc/exynos_dw_mmc.c

index 29241edf79155e54b2d6582285b61142bb8ae1f5..41fb32c579efce78f68b9da0596baa414b1a833d 100644 (file)
@@ -209,55 +209,6 @@ static void exynos_dwmci_board_init(struct dwmci_host *host)
                exynos_dwmci_clksel(host);
 }
 
-static int exynos_dwmci_core_init(struct dwmci_host *host)
-{
-       unsigned long freq;
-       int err;
-
-       if (host->bus_hz)
-               freq = host->bus_hz;
-       else
-               freq = DWMMC_MAX_FREQ;
-
-       err = exynos_dwmmc_set_sclk(host, freq);
-       if (err) {
-               printf("DWMMC%d: failed to set clock rate on probe (%d); "
-                      "continue anyway\n", host->dev_index, err);
-       }
-
-       host->name = "EXYNOS DWMMC";
-       host->board_init = exynos_dwmci_board_init;
-       host->caps = MMC_MODE_DDR_52MHz;
-       host->clksel = exynos_dwmci_clksel;
-       host->get_mmc_clk = exynos_dwmci_get_clk;
-
-#ifndef CONFIG_DM_MMC
-       /* Add the mmc channel to be registered with mmc core */
-       if (add_dwmci(host, DWMMC_MAX_FREQ, DWMMC_MIN_FREQ)) {
-               printf("DWMMC%d registration failed\n", host->dev_index);
-               return -1;
-       }
-#endif
-
-       return 0;
-}
-
-static int do_dwmci_init(struct dwmci_host *host)
-{
-#ifdef CONFIG_CPU_V7A
-       int flag, err;
-
-       flag = host->buswidth == 8 ? PINMUX_FLAG_8BIT_MODE : PINMUX_FLAG_NONE;
-       err = exynos_pinmux_config(host->dev_id, flag);
-       if (err) {
-               printf("DWMMC%d not configure\n", host->dev_index);
-               return err;
-       }
-#endif
-
-       return exynos_dwmci_core_init(host);
-}
-
 #ifdef CONFIG_DM_MMC
 static int exynos_dwmmc_of_to_plat(struct udevice *dev)
 {
@@ -345,6 +296,7 @@ static int exynos_dwmmc_probe(struct udevice *dev)
        struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
        struct dwmci_exynos_priv_data *priv = dev_get_priv(dev);
        struct dwmci_host *host = &priv->host;
+       unsigned long freq;
        int err;
 
 #ifndef CONFIG_CPU_V7A
@@ -353,9 +305,41 @@ static int exynos_dwmmc_probe(struct udevice *dev)
                return err;
 #endif
 
-       err = do_dwmci_init(host);
-       if (err)
+#ifdef CONFIG_CPU_V7A
+       int flag;
+
+       flag = host->buswidth == 8 ? PINMUX_FLAG_8BIT_MODE : PINMUX_FLAG_NONE;
+       err = exynos_pinmux_config(host->dev_id, flag);
+       if (err) {
+               printf("DWMMC%d not configure\n", host->dev_index);
                return err;
+       }
+#endif
+
+       if (host->bus_hz)
+               freq = host->bus_hz;
+       else
+               freq = DWMMC_MAX_FREQ;
+
+       err = exynos_dwmmc_set_sclk(host, freq);
+       if (err) {
+               printf("DWMMC%d: failed to set clock rate on probe (%d); "
+                      "continue anyway\n", host->dev_index, err);
+       }
+
+       host->name = "EXYNOS DWMMC";
+       host->board_init = exynos_dwmci_board_init;
+       host->caps = MMC_MODE_DDR_52MHz;
+       host->clksel = exynos_dwmci_clksel;
+       host->get_mmc_clk = exynos_dwmci_get_clk;
+
+#ifndef CONFIG_DM_MMC
+       /* Add the mmc channel to be registered with mmc core */
+       if (add_dwmci(host, DWMMC_MAX_FREQ, DWMMC_MIN_FREQ)) {
+               printf("DWMMC%d registration failed\n", host->dev_index);
+               return -1;
+       }
+#endif
 
        dwmci_setup_cfg(&plat->cfg, host, DWMMC_MAX_FREQ, DWMMC_MIN_FREQ);
        host->mmc = &plat->mmc;