[PATCH] mmc: mxs-mmc: enable regulator for mmc slot
Shawn Guo
shawn.guo at linaro.org
Tue Jul 3 03:45:01 EDT 2012
Hi Chris,
Ping.
Regards,
Shawn
On Tue, Jun 26, 2012 at 04:38:57PM +0800, Shawn Guo wrote:
> If bootloader or platform initialization code does not enable the
> power supply to mmc slot, we need to do it in mmc driver.
>
> Signed-off-by: Shawn Guo <shawn.guo at linaro.org>
> ---
> drivers/mmc/host/mxs-mmc.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/host/mxs-mmc.c b/drivers/mmc/host/mxs-mmc.c
> index 34a9026..1a29668 100644
> --- a/drivers/mmc/host/mxs-mmc.c
> +++ b/drivers/mmc/host/mxs-mmc.c
> @@ -707,6 +707,7 @@ static int mxs_mmc_probe(struct platform_device *pdev)
> struct pinctrl *pinctrl;
> int ret = 0, irq_err, irq_dma;
> dma_cap_mask_t mask;
> + struct regulator *reg_vmmc;
>
> iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> dmares = platform_get_resource(pdev, IORESOURCE_DMA, 0);
> @@ -747,6 +748,16 @@ static int mxs_mmc_probe(struct platform_device *pdev)
> host->mmc = mmc;
> host->sdio_irq_en = 0;
>
> + reg_vmmc = devm_regulator_get(&pdev->dev, "vmmc");
> + if (!IS_ERR(reg_vmmc)) {
> + ret = regulator_enable(reg_vmmc);
> + if (ret) {
> + dev_err(&pdev->dev,
> + "Failed to enable vmmc regulator: %d\n", ret);
> + goto out_mmc_free;
> + }
> + }
> +
> pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
> if (IS_ERR(pinctrl)) {
> ret = PTR_ERR(pinctrl);
> --
> 1.7.5.4
>
>
More information about the linux-arm-kernel
mailing list