]> git.sur5r.net Git - u-boot/blobdiff - drivers/mmc/s5p_sdhci.c
pci: Set PCI_COMMAND_IO bit for VGA device
[u-boot] / drivers / mmc / s5p_sdhci.c
index bd9e01474879c631c2c026aebb6901d4d833967b..15ecfee961b4a9ed4b0b3ee2d20fad973373ddcd 100644 (file)
@@ -101,29 +101,31 @@ struct sdhci_host sdhci_host[SDHCI_MAX_HOSTS];
 
 static int do_sdhci_init(struct sdhci_host *host)
 {
-       int dev_id, flag;
-       int err = 0;
+       int dev_id, flag, ret;
 
        flag = host->bus_width == 8 ? PINMUX_FLAG_8BIT_MODE : PINMUX_FLAG_NONE;
        dev_id = host->index + PERIPH_ID_SDMMC0;
 
        if (dm_gpio_is_valid(&host->pwr_gpio)) {
                dm_gpio_set_value(&host->pwr_gpio, 1);
-               err = exynos_pinmux_config(dev_id, flag);
-               if (err) {
+               ret = exynos_pinmux_config(dev_id, flag);
+               if (ret) {
                        debug("MMC not configured\n");
-                       return err;
+                       return ret;
                }
        }
 
        if (dm_gpio_is_valid(&host->cd_gpio)) {
-               if (dm_gpio_get_value(&host->cd_gpio))
+               ret = dm_gpio_get_value(&host->cd_gpio);
+               if (ret) {
+                       debug("no SD card detected (%d)\n", ret);
                        return -ENODEV;
+               }
 
-               err = exynos_pinmux_config(dev_id, flag);
-               if (err) {
+               ret = exynos_pinmux_config(dev_id, flag);
+               if (ret) {
                        printf("external SD not configured\n");
-                       return err;
+                       return ret;
                }
        }
 
@@ -170,7 +172,7 @@ static int sdhci_get_config(const void *blob, int node, struct sdhci_host *host)
 static int process_nodes(const void *blob, int node_list[], int count)
 {
        struct sdhci_host *host;
-       int i, node;
+       int i, node, ret;
        int failed = 0;
 
        debug("%s: count = %d\n", __func__, count);
@@ -183,14 +185,16 @@ static int process_nodes(const void *blob, int node_list[], int count)
 
                host = &sdhci_host[i];
 
-               if (sdhci_get_config(blob, node, host)) {
-                       printf("%s: failed to decode dev %d\n", __func__, i);
+               ret = sdhci_get_config(blob, node, host);
+               if (ret) {
+                       printf("%s: failed to decode dev %d (%d)\n",    __func__, i, ret);
                        failed++;
                        continue;
                }
 
-               if (do_sdhci_init(host)) {
-                       printf("%s: failed to initialize dev %d\n", __func__, i);
+               ret = do_sdhci_init(host);
+               if (ret) {
+                       printf("%s: failed to initialize dev %d (%d)\n", __func__, i, ret);
                        failed++;
                }
        }