Message ID | 20211112191523.1943825-2-sean.anderson@seco.com |
---|---|
State | Superseded |
Delegated to: | Peng Fan |
Headers | show |
Series | fsl_esdhc_imx: port several patches from fsl_esdhc | expand |
On 11/13/21 4:15 AM, Sean Anderson wrote: > [ fsl_esdhc commit 41dec2fe99512e941261594f522b2e7d485c314b ] > > 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> Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com> Best Regards, Jaehoon Chung > --- > > (no changes since v1) > > drivers/mmc/Kconfig | 2 ++ > drivers/mmc/fsl_esdhc_imx.c | 33 +-------------------------------- > 2 files changed, 3 insertions(+), 32 deletions(-) > > diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig > index 1569e8c44a..313244682a 100644 > --- a/drivers/mmc/Kconfig > +++ b/drivers/mmc/Kconfig > @@ -790,6 +790,7 @@ endif > > config FSL_ESDHC > bool "Freescale/NXP eSDHC controller support" > + depends on BLK > help > This selects support for the eSDHC (Enhanced Secure Digital Host > Controller) found on numerous Freescale/NXP SoCs. > @@ -826,6 +827,7 @@ config FSL_ESDHC_VS33_NOT_SUPPORT > > config FSL_ESDHC_IMX > bool "Freescale/NXP i.MX eSDHC controller support" > + depends on BLK > help > This selects support for the i.MX eSDHC (Enhanced Secure Digital Host > Controller) found on numerous Freescale/NXP SoCs. > diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c > index aabf39535f..0a7f7e61cb 100644 > --- a/drivers/mmc/fsl_esdhc_imx.c > +++ b/drivers/mmc/fsl_esdhc_imx.c > @@ -39,10 +39,6 @@ > #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; > @@ -1506,9 +1501,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) > @@ -1607,25 +1599,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; > > @@ -1730,14 +1703,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", > @@ -1745,9 +1716,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), >
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig index 1569e8c44a..313244682a 100644 --- a/drivers/mmc/Kconfig +++ b/drivers/mmc/Kconfig @@ -790,6 +790,7 @@ endif config FSL_ESDHC bool "Freescale/NXP eSDHC controller support" + depends on BLK help This selects support for the eSDHC (Enhanced Secure Digital Host Controller) found on numerous Freescale/NXP SoCs. @@ -826,6 +827,7 @@ config FSL_ESDHC_VS33_NOT_SUPPORT config FSL_ESDHC_IMX bool "Freescale/NXP i.MX eSDHC controller support" + depends on BLK help This selects support for the i.MX eSDHC (Enhanced Secure Digital Host Controller) found on numerous Freescale/NXP SoCs. diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index aabf39535f..0a7f7e61cb 100644 --- a/drivers/mmc/fsl_esdhc_imx.c +++ b/drivers/mmc/fsl_esdhc_imx.c @@ -39,10 +39,6 @@ #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; @@ -1506,9 +1501,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) @@ -1607,25 +1599,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; @@ -1730,14 +1703,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", @@ -1745,9 +1716,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),