mmc: sdhci-esdhc-imx: don't exit in case of no pinctrl states
authorDirk Behme <dirk.behme@de.bosch.com>
Wed, 1 Oct 2014 09:25:32 +0000 (04:25 -0500)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 10 Nov 2014 11:40:26 +0000 (12:40 +0100)
The commit ad93220de7da ("mmc: sdhci-esdhc-imx: change pinctrl state
according to uhs mode") exits the probe in case there are no valid
pinctrl states found.

As there are configurations doing the pin mux properly in the boot
loader, don't exit. Just warn, but go on in case if there are no
pinctrl states in the device tree.

Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com>
Signed-off-by: Andrew Gabbasov <andrew_gabbasov@mentor.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sdhci-esdhc-imx.c

index 587ee0e..0135f00 100644 (file)
@@ -1031,11 +1031,8 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
 
        imx_data->pins_default = pinctrl_lookup_state(imx_data->pinctrl,
                                                PINCTRL_STATE_DEFAULT);
-       if (IS_ERR(imx_data->pins_default)) {
-               err = PTR_ERR(imx_data->pins_default);
-               dev_err(mmc_dev(host->mmc), "could not get default state\n");
-               goto disable_clk;
-       }
+       if (IS_ERR(imx_data->pins_default))
+               dev_warn(mmc_dev(host->mmc), "could not get default state\n");
 
        host->quirks |= SDHCI_QUIRK_BROKEN_TIMEOUT_VAL;
 
@@ -1123,7 +1120,8 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
        }
 
        /* sdr50 and sdr104 needs work on 1.8v signal voltage */
-       if ((boarddata->support_vsel) && esdhc_is_usdhc(imx_data)) {
+       if ((boarddata->support_vsel) && esdhc_is_usdhc(imx_data) &&
+           !IS_ERR(imx_data->pins_default)) {
                imx_data->pins_100mhz = pinctrl_lookup_state(imx_data->pinctrl,
                                                ESDHC_PINCTRL_STATE_100MHZ);
                imx_data->pins_200mhz = pinctrl_lookup_state(imx_data->pinctrl,