aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mmc/host')
-rw-r--r--drivers/mmc/host/mmci.c9
-rw-r--r--drivers/mmc/host/sdricoh_cs.c20
2 files changed, 10 insertions, 19 deletions
diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 372e921389c8..375c109607ff 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -1141,6 +1141,11 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
1141 case MMC_POWER_OFF: 1141 case MMC_POWER_OFF:
1142 if (!IS_ERR(mmc->supply.vmmc)) 1142 if (!IS_ERR(mmc->supply.vmmc))
1143 mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0); 1143 mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
1144
1145 if (!IS_ERR(mmc->supply.vqmmc) &&
1146 regulator_is_enabled(mmc->supply.vqmmc))
1147 regulator_disable(mmc->supply.vqmmc);
1148
1144 break; 1149 break;
1145 case MMC_POWER_UP: 1150 case MMC_POWER_UP:
1146 if (!IS_ERR(mmc->supply.vmmc)) 1151 if (!IS_ERR(mmc->supply.vmmc))
@@ -1155,6 +1160,10 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
1155 1160
1156 break; 1161 break;
1157 case MMC_POWER_ON: 1162 case MMC_POWER_ON:
1163 if (!IS_ERR(mmc->supply.vqmmc) &&
1164 !regulator_is_enabled(mmc->supply.vqmmc))
1165 regulator_enable(mmc->supply.vqmmc);
1166
1158 pwr |= MCI_PWR_ON; 1167 pwr |= MCI_PWR_ON;
1159 break; 1168 break;
1160 } 1169 }
diff --git a/drivers/mmc/host/sdricoh_cs.c b/drivers/mmc/host/sdricoh_cs.c
index 7009f17ad6cd..50adbd155f35 100644
--- a/drivers/mmc/host/sdricoh_cs.c
+++ b/drivers/mmc/host/sdricoh_cs.c
@@ -543,25 +543,7 @@ static struct pcmcia_driver sdricoh_driver = {
543 .suspend = sdricoh_pcmcia_suspend, 543 .suspend = sdricoh_pcmcia_suspend,
544 .resume = sdricoh_pcmcia_resume, 544 .resume = sdricoh_pcmcia_resume,
545}; 545};
546 546module_pcmcia_driver(sdricoh_driver);
547/*****************************************************************************\
548 * *
549 * Driver init/exit *
550 * *
551\*****************************************************************************/
552
553static int __init sdricoh_drv_init(void)
554{
555 return pcmcia_register_driver(&sdricoh_driver);
556}
557
558static void __exit sdricoh_drv_exit(void)
559{
560 pcmcia_unregister_driver(&sdricoh_driver);
561}
562
563module_init(sdricoh_drv_init);
564module_exit(sdricoh_drv_exit);
565 547
566module_param(switchlocked, uint, 0444); 548module_param(switchlocked, uint, 0444);
567 549