]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: fsl_esdhc_imx: make BLK as hard requirement of DM_MMC
authorSean Anderson <sean.anderson@seco.com>
Tue, 11 Jan 2022 23:18:52 +0000 (08:18 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Tue, 11 Jan 2022 23:22:42 +0000 (08:22 +0900)
U-boot prefers DM_MMC + BLK for MMC. Now eSDHC driver has already
support it, so let's force to use it.

- Drop non-BLK support for DM_MMC introduced by below patch.
   66fa035 mmc: fsl_esdhc: fix probe issue without CONFIG_BLK enabled

- Support only DM_MMC + BLK (assuming BLK is always enabled for DM_MMC).

- Use DM_MMC instead of BLK for conditional compile.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
drivers/mmc/fsl_esdhc_imx.c

index 4c06361beefdf117bb11352dee46ab0d7ee4451b..85cd72a796986c611929f82033f0547079529ca0 100644 (file)
 #include <dm/ofnode.h>
 #include <linux/iopoll.h>
 
-#if !CONFIG_IS_ENABLED(BLK)
-#include "mmc_private.h"
-#endif
-
 #ifndef ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE
 #ifdef CONFIG_FSL_USDHC
 #define ESDHCI_QUIRK_BROKEN_TIMEOUT_VALUE      1
@@ -58,7 +54,6 @@ DECLARE_GLOBAL_DATA_PTR;
                                IRQSTATEN_DEBE | IRQSTATEN_BRR | IRQSTATEN_BWR | \
                                IRQSTATEN_DINT)
 #define MAX_TUNING_LOOP 40
-#define ESDHC_DRIVER_STAGE_VALUE 0xffffffff
 
 struct fsl_esdhc {
        uint    dsaddr;         /* SDMA system address register */
@@ -157,7 +152,7 @@ struct fsl_esdhc_priv {
        unsigned int clock;
        unsigned int mode;
        unsigned int bus_width;
-#if !CONFIG_IS_ENABLED(BLK)
+#if !CONFIG_IS_ENABLED(DM_MMC)
        struct mmc *mmc;
 #endif
        struct udevice *dev;
@@ -1510,9 +1505,6 @@ static int fsl_esdhc_probe(struct udevice *dev)
        struct esdhc_soc_data *data =
                (struct esdhc_soc_data *)dev_get_driver_data(dev);
        struct mmc *mmc;
-#if !CONFIG_IS_ENABLED(BLK)
-       struct blk_desc *bdesc;
-#endif
        int ret;
 
 #if CONFIG_IS_ENABLED(OF_PLATDATA)
@@ -1611,25 +1603,6 @@ static int fsl_esdhc_probe(struct udevice *dev)
        mmc = &plat->mmc;
        mmc->cfg = &plat->cfg;
        mmc->dev = dev;
-#if !CONFIG_IS_ENABLED(BLK)
-       mmc->priv = priv;
-
-       /* Setup dsr related values */
-       mmc->dsr_imp = 0;
-       mmc->dsr = ESDHC_DRIVER_STAGE_VALUE;
-       /* Setup the universal parts of the block interface just once */
-       bdesc = mmc_get_blk_desc(mmc);
-       bdesc->if_type = IF_TYPE_MMC;
-       bdesc->removable = 1;
-       bdesc->devnum = mmc_get_next_devnum();
-       bdesc->block_read = mmc_bread;
-       bdesc->block_write = mmc_bwrite;
-       bdesc->block_erase = mmc_berase;
-
-       /* setup initial part type */
-       bdesc->part_type = mmc->cfg->part_type;
-       mmc_list_add(mmc);
-#endif
 
        upriv->mmc = mmc;
 
@@ -1740,14 +1713,12 @@ static const struct udevice_id fsl_esdhc_ids[] = {
        { /* sentinel */ }
 };
 
-#if CONFIG_IS_ENABLED(BLK)
 static int fsl_esdhc_bind(struct udevice *dev)
 {
        struct fsl_esdhc_plat *plat = dev_get_plat(dev);
 
        return mmc_bind(dev, &plat->mmc, &plat->cfg);
 }
-#endif
 
 U_BOOT_DRIVER(fsl_esdhc) = {
        .name   = "fsl_esdhc",
@@ -1755,9 +1726,7 @@ U_BOOT_DRIVER(fsl_esdhc) = {
        .of_match = fsl_esdhc_ids,
        .of_to_plat = fsl_esdhc_of_to_plat,
        .ops    = &fsl_esdhc_ops,
-#if CONFIG_IS_ENABLED(BLK)
        .bind   = fsl_esdhc_bind,
-#endif
        .probe  = fsl_esdhc_probe,
        .plat_auto      = sizeof(struct fsl_esdhc_plat),
        .priv_auto      = sizeof(struct fsl_esdhc_priv),