diff options
Diffstat (limited to 'drivers/mmc/host/tmio_mmc_pio.c')
-rw-r--r-- | drivers/mmc/host/tmio_mmc_pio.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c index 67a3bf1238cf..b3802256f954 100644 --- a/drivers/mmc/host/tmio_mmc_pio.c +++ b/drivers/mmc/host/tmio_mmc_pio.c | |||
@@ -777,6 +777,9 @@ static void tmio_mmc_power_on(struct tmio_mmc_host *host, unsigned short vdd) | |||
777 | 777 | ||
778 | /* .set_ios() is returning void, so, no chance to report an error */ | 778 | /* .set_ios() is returning void, so, no chance to report an error */ |
779 | 779 | ||
780 | if (host->set_pwr) | ||
781 | host->set_pwr(host->pdev, 1); | ||
782 | |||
780 | if (!IS_ERR(mmc->supply.vmmc)) { | 783 | if (!IS_ERR(mmc->supply.vmmc)) { |
781 | ret = mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd); | 784 | ret = mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd); |
782 | /* | 785 | /* |
@@ -810,6 +813,9 @@ static void tmio_mmc_power_off(struct tmio_mmc_host *host) | |||
810 | 813 | ||
811 | if (!IS_ERR(mmc->supply.vmmc)) | 814 | if (!IS_ERR(mmc->supply.vmmc)) |
812 | mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0); | 815 | mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0); |
816 | |||
817 | if (host->set_pwr) | ||
818 | host->set_pwr(host->pdev, 0); | ||
813 | } | 819 | } |
814 | 820 | ||
815 | /* Set MMC clock / power. | 821 | /* Set MMC clock / power. |
@@ -996,6 +1002,7 @@ int tmio_mmc_host_probe(struct tmio_mmc_host **host, | |||
996 | _host->pdev = pdev; | 1002 | _host->pdev = pdev; |
997 | platform_set_drvdata(pdev, mmc); | 1003 | platform_set_drvdata(pdev, mmc); |
998 | 1004 | ||
1005 | _host->set_pwr = pdata->set_pwr; | ||
999 | _host->set_clk_div = pdata->set_clk_div; | 1006 | _host->set_clk_div = pdata->set_clk_div; |
1000 | 1007 | ||
1001 | /* SD control register space size is 0x200, 0x400 for bus_shift=1 */ | 1008 | /* SD control register space size is 0x200, 0x400 for bus_shift=1 */ |