linux/drivers/mmc/core
Javier Martinez Canillas 9ed7ca89e0 mmc: core: Use regulator_get_voltage() if OCR mask is empty.
The operation conditions register (OCR) stores the voltage
profile of the card, however the list of possible voltages
is restricted by the voltage range supported by the supply
used as VCC/VDD. So in mmc_vddrange_to_ocrmask() a OCR mask
is obtained to filter the not supported voltages, from the
value read in the host controller OCR register.

For fixed regulators, regulator_list_voltage() returns the
fixed output for the first selector but this doesn't happen
for switch (FET) regulators that obtain their voltage from
their parent supply. A call to regulator_get_voltage() is
needed in this case so the regulator core can return the
FET's parent supply voltage output.

This change is consistent with the fact that for other
fixed regulators (that are not FETs) the OCR mask is
returned even when mmc_regulator_set_ocr() checks if the
regulator is fixed before calling regulator_set_voltage().

Without this patch, the following warning is reported when
a FET is used as a vmmc-supply:

dwmmc_exynos 12220000.mmc: Failed getting OCR mask: -22

Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2014-09-09 13:59:07 +02:00
..
bus.c mmc: core: Remove redundant runtime_idle callback 2014-07-09 11:25:58 +02:00
bus.h mmc: rename dev_to_mmc_card() to mmc_dev_to_card() 2010-10-23 21:11:12 +08:00
core.c mmc: core: Use regulator_get_voltage() if OCR mask is empty. 2014-09-09 13:59:07 +02:00
core.h mmc: core: Let mmc_set_signal_voltage take ocr as parameter 2013-10-30 20:26:26 -04:00
debugfs.c mmc: add support for HS400 mode of eMMC5.0 2014-05-12 18:06:06 -04:00
host.c mmc: implement Driver Stage Register handling 2014-09-09 13:59:07 +02:00
host.h mmc: start removing enable / disable API 2012-03-27 12:20:03 -04:00
Kconfig mmc: core: Use MMC_UNSAFE_RESUME as default behavior 2014-02-13 22:58:15 -05:00
Makefile mmc: extend and rename cd-gpio helpers to handle more slot GPIO functions 2012-07-10 23:04:04 -04:00
mmc_ops.c mmc: implement Driver Stage Register handling 2014-09-09 13:59:07 +02:00
mmc_ops.h mmc: implement Driver Stage Register handling 2014-09-09 13:59:07 +02:00
mmc.c mmc: implement Driver Stage Register handling 2014-09-09 13:59:07 +02:00
quirks.c mmc: quirks: Fixup debug message 2014-07-09 11:26:03 +02:00
sd_ops.c mmc: sd: warn if card stays busy during init 2014-07-09 11:26:07 +02:00
sd_ops.h mmc: add erase, secure erase, trim and secure trim operations 2010-08-12 08:43:30 -07:00
sd.c mmc: implement Driver Stage Register handling 2014-09-09 13:59:07 +02:00
sd.h mmc: drop the speed mode of card's state 2014-05-12 18:05:53 -04:00
sdio_bus.c mmc: core: Invoke sdio func driver's PM callbacks from the sdio bus 2014-04-22 07:06:40 -04:00
sdio_bus.h
sdio_cis.c mmc: sdio: Change pr_warning to pr_warn_ratelimited 2012-07-22 15:25:48 -04:00
sdio_cis.h
sdio_io.c mmc: sdio: Use multiple scatter/gather list 2012-12-06 13:54:43 -05:00
sdio_irq.c mmc: core: sdio: Fix unconditional wake_up_process() on sdio thread 2014-09-09 13:59:04 +02:00
sdio_ops.c mmc: sdio: Use multiple scatter/gather list 2012-12-06 13:54:43 -05:00
sdio_ops.h sdio: recognize io card without powercycle 2010-03-12 15:52:28 -08:00
sdio.c mmc: core: sdio: Fix unconditional wake_up_process() on sdio thread 2014-09-09 13:59:04 +02:00
slot-gpio.c mmc: Delay the card_event callback into the mmc_rescan worker 2014-04-22 07:06:36 -04:00