|
@@ -777,6 +777,9 @@ static void tmio_mmc_power_on(struct tmio_mmc_host *host, unsigned short vdd)
|
|
|
|
|
|
/* .set_ios() is returning void, so, no chance to report an error */
|
|
|
|
|
|
+ if (host->set_pwr)
|
|
|
+ host->set_pwr(host->pdev, 1);
|
|
|
+
|
|
|
if (!IS_ERR(mmc->supply.vmmc)) {
|
|
|
ret = mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
|
|
|
/*
|
|
@@ -810,6 +813,9 @@ static void tmio_mmc_power_off(struct tmio_mmc_host *host)
|
|
|
|
|
|
if (!IS_ERR(mmc->supply.vmmc))
|
|
|
mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
|
|
|
+
|
|
|
+ if (host->set_pwr)
|
|
|
+ host->set_pwr(host->pdev, 0);
|
|
|
}
|
|
|
|
|
|
/* Set MMC clock / power.
|
|
@@ -996,6 +1002,7 @@ int tmio_mmc_host_probe(struct tmio_mmc_host **host,
|
|
|
_host->pdev = pdev;
|
|
|
platform_set_drvdata(pdev, mmc);
|
|
|
|
|
|
+ _host->set_pwr = pdata->set_pwr;
|
|
|
_host->set_clk_div = pdata->set_clk_div;
|
|
|
|
|
|
/* SD control register space size is 0x200, 0x400 for bus_shift=1 */
|