diff options
Diffstat (limited to 'drivers/mmc/host/mxs-mmc.c')
-rw-r--r-- | 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 b0f2ef98818..bb03ddda481 100644 --- a/drivers/mmc/host/mxs-mmc.c +++ b/drivers/mmc/host/mxs-mmc.c | |||
@@ -39,6 +39,7 @@ | |||
39 | #include <linux/regulator/consumer.h> | 39 | #include <linux/regulator/consumer.h> |
40 | #include <linux/module.h> | 40 | #include <linux/module.h> |
41 | #include <linux/fsl/mxs-dma.h> | 41 | #include <linux/fsl/mxs-dma.h> |
42 | #include <linux/pinctrl/consumer.h> | ||
42 | 43 | ||
43 | #include <mach/mxs.h> | 44 | #include <mach/mxs.h> |
44 | #include <mach/common.h> | 45 | #include <mach/common.h> |
@@ -363,6 +364,7 @@ static void mxs_mmc_bc(struct mxs_mmc_host *host) | |||
363 | goto out; | 364 | goto out; |
364 | 365 | ||
365 | dmaengine_submit(desc); | 366 | dmaengine_submit(desc); |
367 | dma_async_issue_pending(host->dmach); | ||
366 | return; | 368 | return; |
367 | 369 | ||
368 | out: | 370 | out: |
@@ -403,6 +405,7 @@ static void mxs_mmc_ac(struct mxs_mmc_host *host) | |||
403 | goto out; | 405 | goto out; |
404 | 406 | ||
405 | dmaengine_submit(desc); | 407 | dmaengine_submit(desc); |
408 | dma_async_issue_pending(host->dmach); | ||
406 | return; | 409 | return; |
407 | 410 | ||
408 | out: | 411 | out: |
@@ -531,6 +534,7 @@ static void mxs_mmc_adtc(struct mxs_mmc_host *host) | |||
531 | goto out; | 534 | goto out; |
532 | 535 | ||
533 | dmaengine_submit(desc); | 536 | dmaengine_submit(desc); |
537 | dma_async_issue_pending(host->dmach); | ||
534 | return; | 538 | return; |
535 | out: | 539 | out: |
536 | dev_warn(mmc_dev(host->mmc), | 540 | dev_warn(mmc_dev(host->mmc), |
@@ -679,6 +683,7 @@ static int mxs_mmc_probe(struct platform_device *pdev) | |||
679 | struct mmc_host *mmc; | 683 | struct mmc_host *mmc; |
680 | struct resource *iores, *dmares, *r; | 684 | struct resource *iores, *dmares, *r; |
681 | struct mxs_mmc_platform_data *pdata; | 685 | struct mxs_mmc_platform_data *pdata; |
686 | struct pinctrl *pinctrl; | ||
682 | int ret = 0, irq_err, irq_dma; | 687 | int ret = 0, irq_err, irq_dma; |
683 | dma_cap_mask_t mask; | 688 | dma_cap_mask_t mask; |
684 | 689 | ||
@@ -716,6 +721,12 @@ static int mxs_mmc_probe(struct platform_device *pdev) | |||
716 | host->irq = irq_err; | 721 | host->irq = irq_err; |
717 | host->sdio_irq_en = 0; | 722 | host->sdio_irq_en = 0; |
718 | 723 | ||
724 | pinctrl = devm_pinctrl_get_select_default(&pdev->dev); | ||
725 | if (IS_ERR(pinctrl)) { | ||
726 | ret = PTR_ERR(pinctrl); | ||
727 | goto out_iounmap; | ||
728 | } | ||
729 | |||
719 | host->clk = clk_get(&pdev->dev, NULL); | 730 | host->clk = clk_get(&pdev->dev, NULL); |
720 | if (IS_ERR(host->clk)) { | 731 | if (IS_ERR(host->clk)) { |
721 | ret = PTR_ERR(host->clk); | 732 | ret = PTR_ERR(host->clk); |