aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorChris Ball <cjb@laptop.org>2013-09-06 07:29:05 -0400
committerChris Ball <cjb@laptop.org>2013-09-06 07:29:05 -0400
commit9d731e7539713acc0ec7b67a5a91357c455d2334 (patch)
treef8979b956f68f77a9d995c816df59d3368a84bc2 /drivers/mmc
parentb7d06c85a333b18b3fa03d2242cfec91f91fbea2 (diff)
Revert "mmc: tmio-mmc: Remove .set_pwr() callback from platform data"
This reverts commit 3af9d15c719017feb63fa99f89ac6009a5a3d467, which causes a build failure: drivers/mfd/asic3.c:724:2: error: unknown field 'set_pwr' specified in initializer
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/tmio_mmc.h1
-rw-r--r--drivers/mmc/host/tmio_mmc_pio.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h
index 39c2f45102c8..86fd21e00099 100644
--- a/drivers/mmc/host/tmio_mmc.h
+++ b/drivers/mmc/host/tmio_mmc.h
@@ -68,6 +68,7 @@ struct tmio_mmc_host {
68 enum tmio_mmc_power power; 68 enum tmio_mmc_power power;
69 69
70 /* Callbacks for clock / power control */ 70 /* Callbacks for clock / power control */
71 void (*set_pwr)(struct platform_device *host, int state);
71 void (*set_clk_div)(struct platform_device *host, int state); 72 void (*set_clk_div)(struct platform_device *host, int state);
72 73
73 /* pio related stuff */ 74 /* pio related stuff */
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 */