mmc: dw_mmc: Handle late vmmc regulators with EPROBE_DEFER
authorDoug Anderson <dianders@chromium.org>
Fri, 7 Jun 2013 17:28:29 +0000 (10:28 -0700)
committerChris Ball <cjb@laptop.org>
Thu, 27 Jun 2013 16:39:06 +0000 (12:39 -0400)
commit870556a3dfb16d004f8e09dd59a1eddc727fcf0c
tree54c95bbaea975ad8cc85137fb6d72ec8b8f1f12b
parent0ddf03c95bbb4f4ed57281fa7b781472950df749
mmc: dw_mmc: Handle late vmmc regulators with EPROBE_DEFER

It is possible to specify a regulator that should be turned on when
dw_mmc is probed.  At the moment dw_mmc will fail to use the regulator
properly if the regulator probes after dw_mmc.  Fix this problem by
honoring EPROBE_DEFER.

At the same time move the regulator code out of the slot init code.
We only specify one regulator for the whole device and other parts of
the code (like suspend/resume) assume that the regulator has only been
enabled once.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Signed-off-by: Chris Ball <cjb@laptop.org>
Documentation/devicetree/bindings/mmc/synopsis-dw-mshc.txt
drivers/mmc/host/dw_mmc.c