#include <bouncebuf.h>
 #include <common.h>
+#include <errno.h>
 #include <malloc.h>
 #include <mmc.h>
 #include <dwmmc.h>
 
        while (dwmci_readl(host, DWMCI_STATUS) & DWMCI_BUSY) {
                if (get_timer(start) > timeout) {
-                       printf("%s: Timeout on data busy\n", __func__);
+                       debug("%s: Timeout on data busy\n", __func__);
                        return TIMEOUT;
                }
        }
        }
 
        if (i == retry) {
-               printf("%s: Timeout.\n", __func__);
+               debug("%s: Timeout.\n", __func__);
                return TIMEOUT;
        }
 
                debug("%s: Response Timeout.\n", __func__);
                return TIMEOUT;
        } else if (mask & DWMCI_INTMSK_RE) {
-               printf("%s: Response Error.\n", __func__);
-               return -1;
+               debug("%s: Response Error.\n", __func__);
+               return -EIO;
        }
 
 
                        mask = dwmci_readl(host, DWMCI_RINTSTS);
                        /* Error during data transfer. */
                        if (mask & (DWMCI_DATA_ERR | DWMCI_DATA_TOUT)) {
-                               printf("%s: DATA ERROR!\n", __func__);
+                               debug("%s: DATA ERROR!\n", __func__);
                                ret = -EINVAL;
                                break;
                        }
 
                        /* Check for timeout. */
                        if (get_timer(start) > timeout) {
-                               printf("%s: Timeout waiting for data!\n",
+                               debug("%s: Timeout waiting for data!\n",
                                       __func__);
                                ret = TIMEOUT;
                                break;
        else if (host->bus_hz)
                sclk = host->bus_hz;
        else {
-               printf("%s: Didn't get source clock value.\n", __func__);
+               debug("%s: Didn't get source clock value.\n", __func__);
                return -EINVAL;
        }
 
        do {
                status = dwmci_readl(host, DWMCI_CMD);
                if (timeout-- < 0) {
-                       printf("%s: Timeout!\n", __func__);
+                       debug("%s: Timeout!\n", __func__);
                        return -ETIMEDOUT;
                }
        } while (status & DWMCI_CMD_START);
        do {
                status = dwmci_readl(host, DWMCI_CMD);
                if (timeout-- < 0) {
-                       printf("%s: Timeout!\n", __func__);
+                       debug("%s: Timeout!\n", __func__);
                        return -ETIMEDOUT;
                }
        } while (status & DWMCI_CMD_START);
        dwmci_writel(host, DWMCI_PWREN, 1);
 
        if (!dwmci_wait_reset(host, DWMCI_RESET_ALL)) {
-               printf("%s[%d] Fail-reset!!\n", __func__, __LINE__);
-               return -1;
+               debug("%s[%d] Fail-reset!!\n", __func__, __LINE__);
+               return -EIO;
        }
 
        /* Enumerate at 400KHz */