mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2026-06-13 15:03:58 +03:00
mmc: Unconditionally call mmc_deinit()
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>
This commit is contained in:
committed by
Jaehoon Chung
parent
b78630630a
commit
27ba82cb6c
@@ -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 */
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user