From: Masahiro Yamada Date: Thu, 25 Aug 2016 07:07:36 +0000 (+0900) Subject: mmc: sdhci: move broken voltage quirk handling to sdhci_setup_cfg() X-Git-Tag: v2016.11-rc1~121^2~7 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=3137e645e2f697df88dca08b7631c6363093bcf4;p=u-boot mmc: sdhci: move broken voltage quirk handling to sdhci_setup_cfg() If CONFIG_BLK is enabled, add_sdhci() is never called. Move this quirk handling to sdhci_setup_cfg(), which is now the central place for hardware capability checks. Signed-off-by: Masahiro Yamada --- diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index d886777f9f..c66151c8cf 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c @@ -557,6 +557,9 @@ int sdhci_setup_cfg(struct mmc_config *cfg, struct sdhci_host *host, if (caps & SDHCI_CAN_VDD_180) cfg->voltages |= MMC_VDD_165_195; + if (host->quirks & SDHCI_QUIRK_BROKEN_VOLTAGE) + cfg->voltages |= host->voltages; + cfg->host_caps = MMC_MODE_HS | MMC_MODE_HS_52MHz | MMC_MODE_4BIT; if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) { if (caps & SDHCI_CAN_DO_8BIT) @@ -597,9 +600,6 @@ int add_sdhci(struct sdhci_host *host, u32 max_clk, u32 min_clk) if (ret) return ret; - if (host->quirks & SDHCI_QUIRK_BROKEN_VOLTAGE) - host->cfg.voltages |= host->voltages; - host->mmc = mmc_create(&host->cfg, host); if (host->mmc == NULL) { printf("%s: mmc create fail!\n", __func__);