[RESEND PATCH v3 01/12] mmc: fsl_esdhc_imx: make BLK as hard requirement of DM_MMC
Sean Anderson
sean.anderson at seco.com
Tue Jan 11 17:15:07 CET 2022
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 at nxp.com>
>> Signed-off-by: Sean Anderson <sean.anderson at 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),
>
More information about the U-Boot
mailing list