|
@@ -916,10 +916,6 @@ static int sdhci_omap_probe(struct platform_device *pdev)
|
|
|
goto err_put_sync;
|
|
|
}
|
|
|
|
|
|
- ret = sdhci_omap_config_iodelay_pinctrl_state(omap_host);
|
|
|
- if (ret)
|
|
|
- goto err_put_sync;
|
|
|
-
|
|
|
host->mmc_host_ops.get_ro = mmc_gpio_get_ro;
|
|
|
host->mmc_host_ops.start_signal_voltage_switch =
|
|
|
sdhci_omap_start_signal_voltage_switch;
|
|
@@ -930,12 +926,23 @@ static int sdhci_omap_probe(struct platform_device *pdev)
|
|
|
sdhci_read_caps(host);
|
|
|
host->caps |= SDHCI_CAN_DO_ADMA2;
|
|
|
|
|
|
- ret = sdhci_add_host(host);
|
|
|
+ ret = sdhci_setup_host(host);
|
|
|
if (ret)
|
|
|
goto err_put_sync;
|
|
|
|
|
|
+ ret = sdhci_omap_config_iodelay_pinctrl_state(omap_host);
|
|
|
+ if (ret)
|
|
|
+ goto err_cleanup_host;
|
|
|
+
|
|
|
+ ret = __sdhci_add_host(host);
|
|
|
+ if (ret)
|
|
|
+ goto err_cleanup_host;
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
+err_cleanup_host:
|
|
|
+ sdhci_cleanup_host(host);
|
|
|
+
|
|
|
err_put_sync:
|
|
|
pm_runtime_put_sync(dev);
|
|
|
|