mirror of https://gitee.com/openkylin/linux.git
mmc: sdhci: using common mmc_regulator_set_vqmmc()
Switch to use the more robust common mmc_regulator_set_vqmmc() function in MMC core which set the target voltage as close as possible to target voltage. We did not re-factor the whole sdhci_start_signal_voltage_switch() cause we want to keep the original signal switch order between host and card to avoid potential break. Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
52ac7acf41
commit
761daa36e2
|
@ -1835,8 +1835,7 @@ static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc,
|
||||||
sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
|
sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
|
||||||
|
|
||||||
if (!IS_ERR(mmc->supply.vqmmc)) {
|
if (!IS_ERR(mmc->supply.vqmmc)) {
|
||||||
ret = regulator_set_voltage(mmc->supply.vqmmc, 2700000,
|
ret = mmc_regulator_set_vqmmc(mmc, ios);
|
||||||
3600000);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_warn("%s: Switching to 3.3V signalling voltage failed\n",
|
pr_warn("%s: Switching to 3.3V signalling voltage failed\n",
|
||||||
mmc_hostname(mmc));
|
mmc_hostname(mmc));
|
||||||
|
@ -1859,8 +1858,7 @@ static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc,
|
||||||
if (!(host->flags & SDHCI_SIGNALING_180))
|
if (!(host->flags & SDHCI_SIGNALING_180))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
if (!IS_ERR(mmc->supply.vqmmc)) {
|
if (!IS_ERR(mmc->supply.vqmmc)) {
|
||||||
ret = regulator_set_voltage(mmc->supply.vqmmc,
|
ret = mmc_regulator_set_vqmmc(mmc, ios);
|
||||||
1700000, 1950000);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_warn("%s: Switching to 1.8V signalling voltage failed\n",
|
pr_warn("%s: Switching to 1.8V signalling voltage failed\n",
|
||||||
mmc_hostname(mmc));
|
mmc_hostname(mmc));
|
||||||
|
@ -1892,8 +1890,7 @@ static int sdhci_start_signal_voltage_switch(struct mmc_host *mmc,
|
||||||
if (!(host->flags & SDHCI_SIGNALING_120))
|
if (!(host->flags & SDHCI_SIGNALING_120))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
if (!IS_ERR(mmc->supply.vqmmc)) {
|
if (!IS_ERR(mmc->supply.vqmmc)) {
|
||||||
ret = regulator_set_voltage(mmc->supply.vqmmc, 1100000,
|
ret = mmc_regulator_set_vqmmc(mmc, ios);
|
||||||
1300000);
|
|
||||||
if (ret) {
|
if (ret) {
|
||||||
pr_warn("%s: Switching to 1.2V signalling voltage failed\n",
|
pr_warn("%s: Switching to 1.2V signalling voltage failed\n",
|
||||||
mmc_hostname(mmc));
|
mmc_hostname(mmc));
|
||||||
|
|
Loading…
Reference in New Issue