diff options
author | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-22 13:15:27 +0200 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@linaro.org> | 2012-03-19 08:56:45 +0100 |
commit | 48f10ebb054e53868189053f86d09a4eb6277f12 (patch) | |
tree | 7d368c1f632aa30c083c11737873f21a9fa48e19 /drivers/mmc/host | |
parent | c9932c2383e818d846650a813d81d14cae9f405a (diff) |
mmc: mmci: Change vdd_handler to a generic ios handler
The purpose of the vdd_handler does not make sense. We remove it
and use a more generic approach instead. A new "ios" handler is thus
added, the purpose of which e.g. can be to control GPIO pins to
a levelshifter.
Previously the vdd_handler was also used for making additional
changes to the MMCIPOWER register bits. This option is now removed.
This patch is based upon a patch from Sebastian Rasmussen.
Change-Id: I250c7d243946acd9cc9da2d4d18394db1256cd27
Signed-off-by: Ulf Hansson <ulf.hansson@stericsson.com>
Signed-off-by: Sebastian Rasmussen <sebastian.rasmussen@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/31883
Diffstat (limited to 'drivers/mmc/host')
-rw-r--r-- | drivers/mmc/host/mmci.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c index 0ad9c4aa45e..e3b478afd90 100644 --- a/drivers/mmc/host/mmci.c +++ b/drivers/mmc/host/mmci.c @@ -1080,6 +1080,10 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) unsigned long flags; int ret; + if (host->plat->ios_handler && + host->plat->ios_handler(mmc_dev(mmc), ios)) + dev_err(mmc_dev(mmc), "platform ios_handler failed\n"); + switch (ios->power_mode) { case MMC_POWER_OFF: if (host->vcc) @@ -1099,10 +1103,6 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) return; } } - if (host->plat->vdd_handler) - pwr |= host->plat->vdd_handler(mmc_dev(mmc), ios->vdd, - ios->power_mode); - /* * The ST Micro variant doesn't have the PL180s MCI_PWR_UP * and instead uses MCI_PWR_ON so apply whatever value is |