Skip to content

Commit

Permalink
mmc: sdhci: check voltage range only on regulators aware of voltage v…
Browse files Browse the repository at this point in the history
…alue

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: Marek Szyprowski <m.szyprowski@samsung.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
  • Loading branch information
Marek Szyprowski authored and Chris Ball committed Feb 24, 2013
1 parent 29866a9 commit a4f8f25
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion drivers/mmc/host/sdhci.c
Original file line number Diff line number Diff line change
Expand Up @@ -2976,7 +2976,11 @@ int sdhci_add_host(struct sdhci_host *host)
}

#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,
3600000);
if ((ret <= 0) || (!(caps[0] & SDHCI_CAN_VDD_330)))
Expand Down

0 comments on commit a4f8f25

Please sign in to comment.