]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: Unconditionally call mmc_deinit()
authorMarek Vasut <marek.vasut+renesas@mailbox.org>
Sun, 17 Mar 2024 03:01:22 +0000 (04:01 +0100)
committerJaehoon Chung <jh80.chung@samsung.com>
Mon, 15 Apr 2024 06:19:13 +0000 (15:19 +0900)
Place the SDR104/HS200/HS400 checks into the mmc_deinit() and always
call it. This simplifies the code and removes ifdeffery. No functional
change is expected.

Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Dragan Simic <dsimic@manjaro.org>
drivers/mmc/mmc-uclass.c
drivers/mmc/mmc.c

index 304bd5eaee23f12b4a1d5dc32bd2f751020b09f8..1e03901e9dcf5a47ad8eadc7cc98edeb722e747e 100644 (file)
@@ -500,10 +500,7 @@ static int mmc_blk_probe(struct udevice *dev)
        if (ret) {
                debug("Probing %s failed (err=%d)\n", dev->name, ret);
 
-               if (CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) ||
-                   CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) ||
-                   CONFIG_IS_ENABLED(MMC_HS400_SUPPORT))
-                       mmc_deinit(mmc);
+               mmc_deinit(mmc);
 
                return ret;
        }
@@ -511,9 +508,6 @@ static int mmc_blk_probe(struct udevice *dev)
        return 0;
 }
 
-#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
 static int mmc_blk_remove(struct udevice *dev)
 {
        struct udevice *mmc_dev = dev_get_parent(dev);
@@ -522,7 +516,6 @@ static int mmc_blk_remove(struct udevice *dev)
 
        return mmc_deinit(mmc);
 }
-#endif
 
 static const struct blk_ops mmc_blk_ops = {
        .read   = mmc_bread,
@@ -538,12 +531,8 @@ U_BOOT_DRIVER(mmc_blk) = {
        .id             = UCLASS_BLK,
        .ops            = &mmc_blk_ops,
        .probe          = mmc_blk_probe,
-#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
        .remove         = mmc_blk_remove,
        .flags          = DM_FLAG_OS_PREPARE,
-#endif
 };
 #endif /* CONFIG_BLK */
 
index 55987f329ef15e3b262afa13ee2051ebf87f0a11..7b068c71ff37871c309729faa573629b73635898 100644 (file)
@@ -2257,6 +2257,16 @@ error:
 
        return -ENOTSUPP;
 }
+#else
+static int sd_select_mode_and_width(struct mmc *mmc, uint card_caps)
+{
+       return 0;
+};
+
+static int mmc_select_mode_and_width(struct mmc *mmc, uint card_caps)
+{
+       return 0;
+};
 #endif
 
 #if CONFIG_IS_ENABLED(MMC_TINY)
@@ -3019,13 +3029,15 @@ int mmc_init(struct mmc *mmc)
        return err;
 }
 
-#if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \
-    CONFIG_IS_ENABLED(MMC_HS400_SUPPORT)
 int mmc_deinit(struct mmc *mmc)
 {
        u32 caps_filtered;
 
+       if (!CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) &&
+           !CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) &&
+           !CONFIG_IS_ENABLED(MMC_HS400_SUPPORT))
+               return 0;
+
        if (!mmc->has_init)
                return 0;
 
@@ -3043,7 +3055,6 @@ int mmc_deinit(struct mmc *mmc)
                return mmc_select_mode_and_width(mmc, caps_filtered);
        }
 }
-#endif
 
 int mmc_set_dsr(struct mmc *mmc, u16 val)
 {