diff options
| -rw-r--r-- | drivers/mmc/host/sdhci-esdhc-imx.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 8abdaf6697a8..d190d04636a7 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/of.h> | 24 | #include <linux/of.h> |
| 25 | #include <linux/of_device.h> | 25 | #include <linux/of_device.h> |
| 26 | #include <linux/of_gpio.h> | 26 | #include <linux/of_gpio.h> |
| 27 | #include <linux/pinctrl/consumer.h> | ||
| 27 | #include <mach/esdhc.h> | 28 | #include <mach/esdhc.h> |
| 28 | #include "sdhci-pltfm.h" | 29 | #include "sdhci-pltfm.h" |
| 29 | #include "sdhci-esdhc.h" | 30 | #include "sdhci-esdhc.h" |
| @@ -68,6 +69,7 @@ struct pltfm_imx_data { | |||
| 68 | int flags; | 69 | int flags; |
| 69 | u32 scratchpad; | 70 | u32 scratchpad; |
| 70 | enum imx_esdhc_type devtype; | 71 | enum imx_esdhc_type devtype; |
| 72 | struct pinctrl *pinctrl; | ||
| 71 | struct esdhc_platform_data boarddata; | 73 | struct esdhc_platform_data boarddata; |
| 72 | }; | 74 | }; |
| 73 | 75 | ||
| @@ -467,6 +469,12 @@ static int __devinit sdhci_esdhc_imx_probe(struct platform_device *pdev) | |||
| 467 | clk_prepare_enable(clk); | 469 | clk_prepare_enable(clk); |
| 468 | pltfm_host->clk = clk; | 470 | pltfm_host->clk = clk; |
| 469 | 471 | ||
| 472 | imx_data->pinctrl = devm_pinctrl_get_select_default(&pdev->dev); | ||
| 473 | if (IS_ERR(imx_data->pinctrl)) { | ||
| 474 | err = PTR_ERR(imx_data->pinctrl); | ||
| 475 | goto pin_err; | ||
| 476 | } | ||
| 477 | |||
| 470 | host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL; | 478 | host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL; |
| 471 | 479 | ||
| 472 | if (is_imx25_esdhc(imx_data) || is_imx35_esdhc(imx_data)) | 480 | if (is_imx25_esdhc(imx_data) || is_imx35_esdhc(imx_data)) |
| @@ -558,6 +566,7 @@ no_card_detect_irq: | |||
| 558 | gpio_free(boarddata->wp_gpio); | 566 | gpio_free(boarddata->wp_gpio); |
| 559 | no_card_detect_pin: | 567 | no_card_detect_pin: |
| 560 | no_board_data: | 568 | no_board_data: |
| 569 | pin_err: | ||
| 561 | clk_disable_unprepare(pltfm_host->clk); | 570 | clk_disable_unprepare(pltfm_host->clk); |
| 562 | clk_put(pltfm_host->clk); | 571 | clk_put(pltfm_host->clk); |
| 563 | err_clk_get: | 572 | err_clk_get: |
