mmc: core: reset signal voltage on power up
authorAaron Lu <aaron.lu@amd.com>
Tue, 10 Jul 2012 08:55:37 +0000 (16:55 +0800)
committerChris Ball <cjb@laptop.org>
Sun, 22 Jul 2012 19:25:53 +0000 (15:25 -0400)
commit108ecc4cf9c46a4caabaf18efc42d19818c95b70
treeb28bc7b718318b54fcdb22fd3c58833a971ac9c9
parent55c4665ea0a42fd6427826bfce96eb4b0389262a
mmc: core: reset signal voltage on power up

Add a call to mmc_set_signal_voltage() to set signal voltage to 3.3v in
mmc_power_up so that we do not need to touch signal voltage setting in
mmc/sd/sdio init functions and rescan function.

For mmc/sd cards, when doing a suspend/resume cycle, consider the unsafe
resume case, the card will lose its power and when powered on again, we
will set signal voltage to 3.3v in mmc_power_up before its resume function
gets called, which will re-init the card.

And for sdio cards, when doing a suspend/resume cycle, consider the unsafe
resume case, the card will either lose its power or not depending on if it
wants to wakeup the host. If power is not maintained, it is the same case as
mmc/sd cards. If power is maintained, mmc_power_up will not be called and
the card's signal voltage will remain at the last setting.

Signed-off-by: Aaron Lu <aaron.lu@amd.com>
Tested-by: Venkatraman S <svenkatr@ti.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/core.c
drivers/mmc/core/mmc.c
drivers/mmc/core/sd.c
drivers/mmc/core/sdio.c