Re: [U-Boot] [PATCH v4 2/2] mmc: fsl_esdhc: fix probe issue without CONFIG_BLK enabled

2019-05-22 Thread Prabhakar Kushwaha

> -Original Message-
> From: Yinbo Zhu 
> Sent: Wednesday, May 15, 2019 3:38 PM
> To: York Sun ; u-boot@lists.denx.de; Vabhav Sharma
> 
> Cc: Yinbo Zhu ; Xiaobo Xie ; Jiafei
> Pan ; Y.b. Lu ; Jagdish Gediya
> ; Prabhakar Kushwaha
> ; Andy Tang 
> Subject: [PATCH v4 2/2] mmc: fsl_esdhc: fix probe issue without CONFIG_BLK
> enabled
> 
> From: Yangbo Lu 
> 
> 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 
> Signed-off-by: Yinbo Zhu 
> ---
> 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 
>  #include 
> 
> +#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 0x
> 
>  struct fsl_esdhc {
>   uintdsaddr; /* 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 = >mmc;
>   mmc->cfg = >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


[U-Boot] [PATCH v4 2/2] mmc: fsl_esdhc: fix probe issue without CONFIG_BLK enabled

2019-05-15 Thread Yinbo Zhu
From: Yangbo Lu 

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 
Signed-off-by: Yinbo Zhu 
---
Change in v4:
Update the Copyright

 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
  *
  * Based vaguely on the pxa mmc code:
@@ -25,6 +25,10 @@
 #include 
 #include 
 
+#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 0x
 
 struct fsl_esdhc {
uintdsaddr; /* 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 = >mmc;
mmc->cfg = >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);
-- 
2.17.1

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