mmc: core: Improve support for deferred regulators
authorTim Kryger <tim.kryger@linaro.org>
Tue, 6 May 2014 22:57:01 +0000 (15:57 -0700)
committerChris Ball <chris@printf.net>
Mon, 12 May 2014 22:08:24 +0000 (18:08 -0400)
commit4d1f52f9a9f9a63371dba589093b3ae90fc80c3d
treec79807df571fa6b0dd63abba62b8e1ccc92ca463
parentbc3c17711e5a6d3b1d1cf7f6b3fe081d81d68dcb
mmc: core: Improve support for deferred regulators

Callers of mmc_regulator_get_supply could benefit from knowing if either
of the regulators are present but not yet available.  Since callers do
not currently examine the return value, modify this function to return
zero or -EPROBE_DEFER if either regulator get returns the same.

Furthermore, since callers check vmmc/vqmmc using IS_ERR and can deal
with absent regulators, switch to devm_regulator_get_optional. This has
the added benefit of allowing this function to behave correctly even in
the !CONFIG_REGULATOR case such that the stub can be removed.

Signed-off-by: Tim Kryger <tim.kryger@linaro.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Chris Ball <chris@printf.net>
drivers/mmc/core/core.c
include/linux/mmc/host.h