
On 12/18/21 10:48, Heinrich Schuchardt wrote:
On 12/10/21 07:49, AKASHI Takahiro wrote:
Every time a mmc bus/port is scanned and a new device is detected, we want to call device_probe() as it will give us a chance to run additional post-processings for some purposes.
In particular, support for creating partitions on a device will be added.
Signed-off-by: AKASHI Takahiro takahiro.akashi@linaro.org
Cc: Jaehoon Chung jh80.chung@samsung.com, Peng Fan peng.fan@nxp.com
Please, use scripts/get_maintainers.pl to identify whom to send patches.
drivers/mmc/mmc-uclass.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/drivers/mmc/mmc-uclass.c b/drivers/mmc/mmc-uclass.c index 3ee92d03ca23..6c907b65fde7 100644 --- a/drivers/mmc/mmc-uclass.c +++ b/drivers/mmc/mmc-uclass.c @@ -418,6 +418,7 @@ int mmc_bind(struct udevice *dev, struct mmc *mmc, const struct mmc_config *cfg) bdesc->part_type = cfg->part_type; mmc->dev = dev; mmc->user_speed_mode = MMC_MODES_END;
Please avoid unrelated changes.
return 0; }
@@ -467,6 +468,18 @@ static int mmc_blk_probe(struct udevice *dev) return ret; }
+ ret = device_probe(dev); + if (ret) { + debug("Can't probe\n");
+ if (IS_ENABLED(CONFIG_MMC_UHS_SUPPORT) || + IS_ENABLED(CONFIG_MMC_HS200_SUPPORT) || + IS_ENABLED(CONFIG_MMC_HS400_SUPPORT))
Not even sandbox_defconfig builds with your patch:
drivers/mmc/mmc-uclass.c: In function ‘mmc_blk_probe’: drivers/mmc/mmc-uclass.c:478:25: warning: implicit declaration of function ‘mmc_deinit’; did you mean ‘mmc_reinit’? [-Wimplicit-function-declaration] 478 | mmc_deinit(mmc); | ^~~~~~~~~~ | mmc_reinit
Please, have a look at include/mmc.h:
790 #if CONFIG_IS_ENABLED(MMC_UHS_SUPPORT) || \ 791 CONFIG_IS_ENABLED(MMC_HS200_SUPPORT) || \ 792 CONFIG_IS_ENABLED(MMC_HS400_SUPPORT) 793 int mmc_deinit(struct mmc *mmc); 794 #endif
mmc_deinit() may not be defined.
We should fix include/mmc.h first.
See [PATCH 1/1] mmc: unconditionally define mmc_deinit() https://lists.denx.de/pipermail/u-boot/2021-December/469919.html
Best regards
Heinrich
+ mmc_deinit(mmc);
+ return ret; + }
return 0; }