> -----Original Message-----
> From: Yinbo Zhu <yinbo....@nxp.com>
> Sent: Wednesday, May 15, 2019 3:38 PM
> To: York Sun <york....@nxp.com>; u-boot@lists.denx.de; Vabhav Sharma
> <vabhav.sha...@nxp.com>
> Cc: Yinbo Zhu <yinbo....@nxp.com>; Xiaobo Xie <xiaobo....@nxp.com>; Jiafei
> Pan <jiafei....@nxp.com>; Y.b. Lu <yangbo...@nxp.com>; Jagdish Gediya
> <jagdish.ged...@nxp.com>; Prabhakar Kushwaha
> <prabhakar.kushw...@nxp.com>; Andy Tang <andy.t...@nxp.com>
> Subject: [PATCH v4 2/2] mmc: fsl_esdhc: fix probe issue without CONFIG_BLK
> enabled
> 
> From: Yangbo Lu <yangbo...@nxp.com>
> 
> u-boot is trying to make CONFIG_BLK as a hard requirement for DM_MMC. But
> now it's still not.
> 
> config BLK
>       bool "Support block devices"
>       depends on DM
>       default y if DM_MMC
> 
> When fsl_esdhc driver was reworked for DM_MMC support, DM_MMC without
> CONFIG_BLK enabled wasn't considered. This patch is to fix probe issue without
> CONFIG_BLK enabled.
> 
> Signed-off-by: Yangbo Lu <yangbo...@nxp.com>
> Signed-off-by: Yinbo Zhu <yinbo....@nxp.com>
> ---
> Change in v4:
>               Update the Copyright
> 

Adding complete history

>  drivers/mmc/fsl_esdhc.c | 30 +++++++++++++++++++++++++++++-
>  1 file changed, 29 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c index
> 9e34557d16..53277c9216 100644
> --- a/drivers/mmc/fsl_esdhc.c
> +++ b/drivers/mmc/fsl_esdhc.c
> @@ -1,6 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0+
>  /*
> - * Copyright 2007, 2010-2011 Freescale Semiconductor, Inc
> + * Copyright 2007, 2010-2020 Freescale Semiconductor, Inc
>   * Andy Fleming
>   *

Freescale was there till 2016.
After that it is NXP. So add NXP copyright. 

Please resend this patch. 

>   * Based vaguely on the pxa mmc code:
> @@ -25,6 +25,10 @@
>  #include <asm-generic/gpio.h>
>  #include <dm/pinctrl.h>
> 
> +#if !CONFIG_IS_ENABLED(BLK)
> +#include "mmc_private.h"
> +#endif
> +
>  DECLARE_GLOBAL_DATA_PTR;
> 
>  #define SDHCI_IRQ_EN_BITS            (IRQSTATEN_CC | IRQSTATEN_TC | \
> @@ -34,6 +38,7 @@ 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 */
> @@ -1448,6 +1453,9 @@ static int fsl_esdhc_probe(struct udevice *dev)
>       fdt_addr_t addr;
>       unsigned int val;
>       struct mmc *mmc;
> +#if !CONFIG_IS_ENABLED(BLK)
> +     struct blk_desc *bdesc;
> +#endif
>       int ret;
> 
>       addr = dev_read_addr(dev);
> @@ -1576,6 +1584,26 @@ 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;
> 
>       return esdhc_init_common(priv, mmc);

@ Peng. Can you please ack on this patch

--pk


_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to