mirror of
https://github.com/torvalds/linux.git
synced 2024-11-04 11:04:38 +00:00
6e8201f57c
There is an understood mismatch between the voltage the host controller is set to and the voltage supplied to the card by a fixed voltage regulator. Teaching the driver to accept the mismatch is overly complicated. Instead just accept the regulator's voltage. This patch adds MMC_CAP2_BROKEN_VOLTAGE. If the voltage didn't satisfy between min_uV and max_uV, try to change the voltage in core.c. When changing the voltage, maybe use regulator_set_voltage(). In regulator_set_voltage(), check the below condition. /* sanity check */ if (!rdev->desc->ops->set_voltage && !rdev->desc->ops->set_voltage_sel) { ret = -EINVAL; goto out; } If some board should use the fixed-regulator, always return -EINVAL. Then, eMMC didn't initialize always. So if use a fixed-regulator, we need to add the MMC_CAP2_BROKEN_VOLTAGE. Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Chris Ball <cjb@laptop.org> |
||
---|---|---|
.. | ||
bus.c | ||
bus.h | ||
cd-gpio.c | ||
core.c | ||
core.h | ||
debugfs.c | ||
host.c | ||
host.h | ||
Kconfig | ||
Makefile | ||
mmc_ops.c | ||
mmc_ops.h | ||
mmc.c | ||
quirks.c | ||
sd_ops.c | ||
sd_ops.h | ||
sd.c | ||
sd.h | ||
sdio_bus.c | ||
sdio_bus.h | ||
sdio_cis.c | ||
sdio_cis.h | ||
sdio_io.c | ||
sdio_irq.c | ||
sdio_ops.c | ||
sdio_ops.h | ||
sdio.c |