Message ID | 17862939-c7b1-310e-d98e-ce68f776ee40@seco.com |
---|---|
State | Superseded |
Delegated to: | Peng Fan |
Headers | show |
Series | [RESEND,v3,01/12] mmc: fsl_esdhc_imx: make BLK as hard requirement of DM_MMC | expand |
Dear Sean, On 1/5/22 1:16 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. Thanks for resend this. But it can't apply your patch from patchwork directly. https://patchwork.ozlabs.org/project/uboot/patch/17862939-c7b1-310e-d98e-ce68f776ee40@seco.com/ If you're ok, I will apply after modified your patch. Best Regards, Jaehoon Chung > > Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> > Signed-off-by: Sean Anderson <sean.anderson@seco.com> > --- > > Changes in v3: > - Drop Kconfig BLK dependency > > drivers/mmc/fsl_esdhc_imx.c | 33 +-------------------------------- > 1 file changed, 1 insertion(+), 32 deletions(-) > > diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c > index 4c06361bee..85cd72a796 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; > @@ -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),
On 1/10/22 8:14 PM, Jaehoon Chung wrote: > Dear Sean, > > On 1/5/22 1:16 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. > > > Thanks for resend this. But it can't apply your patch from patchwork directly. > https://patchwork.ozlabs.org/project/uboot/patch/17862939-c7b1-310e-d98e-ce68f776ee40@seco.com/ > > If you're ok, I will apply after modified your patch. That's fine; looks like it got mangled a bit by my mail client. --Sean > >> >> Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> >> Signed-off-by: Sean Anderson <sean.anderson@seco.com> >> --- >> >> Changes in v3: >> - Drop Kconfig BLK dependency >> >> drivers/mmc/fsl_esdhc_imx.c | 33 +-------------------------------- >> 1 file changed, 1 insertion(+), 32 deletions(-) >> >> diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c >> index 4c06361bee..85cd72a796 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; >> @@ -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), >
diff --git a/drivers/mmc/fsl_esdhc_imx.c b/drivers/mmc/fsl_esdhc_imx.c index 4c06361bee..85cd72a796 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;