Commit a4f8f257 authored by Marek Szyprowski's avatar Marek Szyprowski Committed by Chris Ball

mmc: sdhci: check voltage range only on regulators aware of voltage value

Some regulators don't report any voltage values, so checking supported
voltage range results in disabling all SDHCI_CAN_VDD_* flags and
registration failure. This patch finally provides a correct fix for the
registration of SDHCI driver with all possible voltage regulators:
dummy, fixed and regulated without using regulator_count_voltages()
hacks.
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent 29866a98
...@@ -2976,7 +2976,11 @@ int sdhci_add_host(struct sdhci_host *host) ...@@ -2976,7 +2976,11 @@ int sdhci_add_host(struct sdhci_host *host)
} }
#ifdef CONFIG_REGULATOR #ifdef CONFIG_REGULATOR
if (host->vmmc) { /*
* Voltage range check makes sense only if regulator reports
* any voltage value.
*/
if (host->vmmc && regulator_get_voltage(host->vmmc) > 0) {
ret = regulator_is_supported_voltage(host->vmmc, 2700000, ret = regulator_is_supported_voltage(host->vmmc, 2700000,
3600000); 3600000);
if ((ret <= 0) || (!(caps[0] & SDHCI_CAN_VDD_330))) if ((ret <= 0) || (!(caps[0] & SDHCI_CAN_VDD_330)))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment