From: Simon Glass Date: Sun, 23 Apr 2017 01:10:56 +0000 (-0600) Subject: dm: mmc: Don't call board_mmc_power_init() with driver model X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=05cbeb7c3612da8d4bafa82be05092450a500052;p=u-boot.git dm: mmc: Don't call board_mmc_power_init() with driver model We should not call out to board code from drivers. With driver model, mmc_power_init() already has code to use a named regulator, but the legacy code path remains. Update the code to make this clear. Signed-off-by: Simon Glass --- diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index 72fc17716e..3cdf6a4f3b 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -1608,17 +1608,17 @@ static int mmc_send_if_cond(struct mmc *mmc) return 0; } +#ifndef CONFIG_DM_MMC /* board-specific MMC power initializations. */ __weak void board_mmc_power_init(void) { } +#endif static int mmc_power_init(struct mmc *mmc) { - board_mmc_power_init(); - -#if defined(CONFIG_DM_MMC) && defined(CONFIG_DM_REGULATOR) && \ - !defined(CONFIG_SPL_BUILD) +#if defined(CONFIG_DM_MMC) +#if defined(CONFIG_DM_REGULATOR) && !defined(CONFIG_SPL_BUILD) struct udevice *vmmc_supply; int ret; @@ -1634,6 +1634,13 @@ static int mmc_power_init(struct mmc *mmc) puts("Error enabling VMMC supply\n"); return ret; } +#endif +#else /* !CONFIG_DM_MMC */ + /* + * Driver model should use a regulator, as above, rather than calling + * out to board code. + */ + board_mmc_power_init(); #endif return 0; }