diff options
Diffstat (limited to 'drivers/mmc/core/core.c')
-rw-r--r-- | drivers/mmc/core/core.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c index 28b1ffaf0bd1..8d00aef9523e 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c | |||
@@ -1022,6 +1022,29 @@ int mmc_regulator_set_ocr(struct mmc_host *mmc, | |||
1022 | } | 1022 | } |
1023 | EXPORT_SYMBOL_GPL(mmc_regulator_set_ocr); | 1023 | EXPORT_SYMBOL_GPL(mmc_regulator_set_ocr); |
1024 | 1024 | ||
1025 | int mmc_regulator_get_supply(struct mmc_host *mmc) | ||
1026 | { | ||
1027 | struct device *dev = mmc_dev(mmc); | ||
1028 | struct regulator *supply; | ||
1029 | int ret; | ||
1030 | |||
1031 | supply = devm_regulator_get(dev, "vmmc"); | ||
1032 | mmc->supply.vmmc = supply; | ||
1033 | mmc->supply.vqmmc = devm_regulator_get(dev, "vqmmc"); | ||
1034 | |||
1035 | if (IS_ERR(supply)) | ||
1036 | return PTR_ERR(supply); | ||
1037 | |||
1038 | ret = mmc_regulator_get_ocrmask(supply); | ||
1039 | if (ret > 0) | ||
1040 | mmc->ocr_avail = ret; | ||
1041 | else | ||
1042 | dev_warn(mmc_dev(mmc), "Failed getting OCR mask: %d\n", ret); | ||
1043 | |||
1044 | return 0; | ||
1045 | } | ||
1046 | EXPORT_SYMBOL_GPL(mmc_regulator_get_supply); | ||
1047 | |||
1025 | #endif /* CONFIG_REGULATOR */ | 1048 | #endif /* CONFIG_REGULATOR */ |
1026 | 1049 | ||
1027 | /* | 1050 | /* |