|
@@ -450,15 +450,14 @@ static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host)
|
|
|
* framework is fixed, we need a workaround like this
|
|
|
* (which is safe for MMC, but not in general).
|
|
|
*/
|
|
|
- if (regulator_is_enabled(host->vcc) > 0) {
|
|
|
- regulator_enable(host->vcc);
|
|
|
- regulator_disable(host->vcc);
|
|
|
- }
|
|
|
- if (host->vcc_aux) {
|
|
|
- if (regulator_is_enabled(reg) > 0) {
|
|
|
- regulator_enable(reg);
|
|
|
- regulator_disable(reg);
|
|
|
- }
|
|
|
+ if (regulator_is_enabled(host->vcc) > 0 ||
|
|
|
+ (host->vcc_aux && regulator_is_enabled(host->vcc_aux))) {
|
|
|
+ int vdd = ffs(mmc_slot(host).ocr_mask) - 1;
|
|
|
+
|
|
|
+ mmc_slot(host).set_power(host->dev, host->slot_id,
|
|
|
+ 1, vdd);
|
|
|
+ mmc_slot(host).set_power(host->dev, host->slot_id,
|
|
|
+ 0, 0);
|
|
|
}
|
|
|
}
|
|
|
|