On 07/19/2016 04:33 PM, Jaehoon Chung wrote: > Use the generic error number instead of specific error number. > If use the generic error number, it can debug more easier. > > Signed-off-by: Jaehoon Chung <jh80.ch...@samsung.com> > Reviewed-by: Simon Glass <s...@chromium.org> > Reviewed-by: Minkyu Kang <mk7.k...@samsung.com>
Applied on u-boot-mmc. Thanks! Best Regards, Jaehoon Chung > --- > drivers/mmc/arm_pl180_mmci.c | 2 +- > drivers/mmc/bfin_sdh.c | 10 +++++----- > drivers/mmc/davinci_mmc.c | 11 ++++++----- > drivers/mmc/dw_mmc.c | 8 ++++---- > drivers/mmc/fsl_esdhc.c | 13 +++++++------ > drivers/mmc/ftsdc010_mci.c | 10 +++++----- > drivers/mmc/gen_atmel_mci.c | 10 +++++----- > drivers/mmc/mmc.c | 18 +++++++++--------- > drivers/mmc/mmc_spi.c | 11 ++++++----- > drivers/mmc/mvebu_mmc.c | 9 +++++---- > drivers/mmc/mxcmmc.c | 6 +++--- > drivers/mmc/mxsmmc.c | 18 +++++++++--------- > drivers/mmc/omap_hsmmc.c | 18 +++++++++--------- > drivers/mmc/s3c_sdi.c | 4 ++-- > drivers/mmc/sdhci.c | 8 ++++---- > drivers/mmc/sh_mmcif.c | 8 ++++---- > drivers/mmc/sh_sdhi.c | 6 +++--- > drivers/mmc/sunxi_mmc.c | 6 +++--- > drivers/mmc/tegra_mmc.c | 7 ++++--- > drivers/mmc/uniphier-sd.c | 2 +- > include/mmc.h | 6 ------ > 21 files changed, 95 insertions(+), 96 deletions(-) > > diff --git a/drivers/mmc/arm_pl180_mmci.c b/drivers/mmc/arm_pl180_mmci.c > index 8f2694f..e64ac3c 100644 > --- a/drivers/mmc/arm_pl180_mmci.c > +++ b/drivers/mmc/arm_pl180_mmci.c > @@ -37,7 +37,7 @@ static int wait_for_command_end(struct mmc *dev, struct > mmc_cmd *cmd) > writel(statusmask, &host->base->status_clear); > if (hoststatus & SDI_STA_CTIMEOUT) { > debug("CMD%d time out\n", cmd->cmdidx); > - return TIMEOUT; > + return -ETIMEDOUT; > } else if ((hoststatus & SDI_STA_CCRCFAIL) && > (cmd->resp_type & MMC_RSP_CRC)) { > printf("CMD%d CRC error\n", cmd->cmdidx); > diff --git a/drivers/mmc/bfin_sdh.c b/drivers/mmc/bfin_sdh.c > index 9bdfbbc..0e493da 100644 > --- a/drivers/mmc/bfin_sdh.c > +++ b/drivers/mmc/bfin_sdh.c > @@ -109,9 +109,9 @@ sdh_send_cmd(struct mmc *mmc, struct mmc_cmd *mmc_cmd) > } > > if (status & CMD_TIME_OUT) > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > else if (status & CMD_CRC_FAIL && flags & MMC_RSP_CRC) > - ret = COMM_ERR; > + ret = -ECOMM; > else > ret = 0; > > @@ -136,7 +136,7 @@ static int sdh_setup_data(struct mmc *mmc, struct > mmc_data *data) > > /* Don't support write yet. */ > if (data->flags & MMC_DATA_WRITE) > - return UNUSABLE_ERR; > + return -EOPNOTSUPP; > #ifndef RSI_BLKSZ > data_ctl |= ((ffs(data->blocksize) - 1) << 4); > #else > @@ -194,10 +194,10 @@ static int bfin_sdh_request(struct mmc *mmc, struct > mmc_cmd *cmd, > > if (status & DAT_TIME_OUT) { > bfin_write_SDH_STATUS_CLR(DAT_TIMEOUT_STAT); > - ret |= TIMEOUT; > + ret = -ETIMEDOUT; > } else if (status & (DAT_CRC_FAIL | RX_OVERRUN)) { > bfin_write_SDH_STATUS_CLR(DAT_CRC_FAIL_STAT | > RX_OVERRUN_STAT); > - ret |= COMM_ERR; > + ret = -ECOMM; > } else > bfin_write_SDH_STATUS_CLR(DAT_BLK_END_STAT | > DAT_END_STAT); > > diff --git a/drivers/mmc/davinci_mmc.c b/drivers/mmc/davinci_mmc.c > index aae00e9..b495c75 100644 > --- a/drivers/mmc/davinci_mmc.c > +++ b/drivers/mmc/davinci_mmc.c > @@ -9,6 +9,7 @@ > #include <config.h> > #include <common.h> > #include <command.h> > +#include <errno.h> > #include <mmc.h> > #include <part.h> > #include <malloc.h> > @@ -66,7 +67,7 @@ dmmc_wait_fifo_status(volatile struct davinci_mmc_regs > *regs, uint status) > udelay(100); > > if (wdog == 0) > - return COMM_ERR; > + return -ECOMM; > > return 0; > } > @@ -80,7 +81,7 @@ static int dmmc_busy_wait(volatile struct davinci_mmc_regs > *regs) > udelay(10); > > if (wdog == 0) > - return COMM_ERR; > + return -ECOMM; > > return 0; > } > @@ -99,7 +100,7 @@ static int dmmc_check_status(volatile struct > davinci_mmc_regs *regs, > return 0; > } else if (mmcstatus & st_error) { > if (mmcstatus & MMCST0_TOUTRS) > - return TIMEOUT; > + return -ETIMEDOUT; > printf("[ ST0 ERROR %x]\n", mmcstatus); > /* > * Ignore CRC errors as some MMC cards fail to > @@ -107,7 +108,7 @@ static int dmmc_check_status(volatile struct > davinci_mmc_regs *regs, > */ > if (mmcstatus & MMCST0_CRCRS) > return 0; > - return COMM_ERR; > + return -ECOMM; > } > udelay(10); > > @@ -116,7 +117,7 @@ static int dmmc_check_status(volatile struct > davinci_mmc_regs *regs, > > printf("Status %x Timeout ST0:%x ST1:%x\n", st_ready, mmcstatus, > get_val(®s->mmcst1)); > - return COMM_ERR; > + return -ECOMM; > } > > /* > diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c > index 8687368..274e644 100644 > --- a/drivers/mmc/dw_mmc.c > +++ b/drivers/mmc/dw_mmc.c > @@ -158,7 +158,7 @@ static int dwmci_data_transfer(struct dwmci_host *host, > struct mmc_data *data) > if (get_timer(start) > timeout) { > debug("%s: Timeout waiting for data!\n", > __func__); > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > break; > } > } > @@ -203,7 +203,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd > *cmd, > while (dwmci_readl(host, DWMCI_STATUS) & DWMCI_BUSY) { > if (get_timer(start) > timeout) { > debug("%s: Timeout on data busy\n", __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > > @@ -269,7 +269,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd > *cmd, > > if (i == retry) { > debug("%s: Timeout.\n", __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > > if (mask & DWMCI_INTMSK_RTO) { > @@ -282,7 +282,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd > *cmd, > * CMD8, please keep that in mind. > */ > debug("%s: Response Timeout.\n", __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } else if (mask & DWMCI_INTMSK_RE) { > debug("%s: Response Error.\n", __func__); > return -EIO; > diff --git a/drivers/mmc/fsl_esdhc.c b/drivers/mmc/fsl_esdhc.c > index 86c9a67..103b32e 100644 > --- a/drivers/mmc/fsl_esdhc.c > +++ b/drivers/mmc/fsl_esdhc.c > @@ -12,6 +12,7 @@ > #include <config.h> > #include <common.h> > #include <command.h> > +#include <errno.h> > #include <hwconfig.h> > #include <mmc.h> > #include <part.h> > @@ -252,7 +253,7 @@ static int esdhc_setup_data(struct mmc *mmc, struct > mmc_data *data) > if ((esdhc_read32(®s->prsstat) & > PRSSTAT_WPSPL) == 0) { > printf("\nThe SD card is locked. Can not write > to a locked card.\n\n"); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > > @@ -410,12 +411,12 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > irqstat = esdhc_read32(®s->irqstat); > > if (irqstat & CMD_ERR) { > - err = COMM_ERR; > + err = -ECOMM; > goto out; > } > > if (irqstat & IRQSTAT_CTOE) { > - err = TIMEOUT; > + err = -ETIMEDOUT; > goto out; > } > > @@ -441,7 +442,7 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > > if (timeout <= 0) { > printf("Timeout waiting for DAT0 to go high!\n"); > - err = TIMEOUT; > + err = -ETIMEDOUT; > goto out; > } > } > @@ -470,12 +471,12 @@ esdhc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > irqstat = esdhc_read32(®s->irqstat); > > if (irqstat & IRQSTAT_DTOE) { > - err = TIMEOUT; > + err = -ETIMEDOUT; > goto out; > } > > if (irqstat & DATA_ERR) { > - err = COMM_ERR; > + err = -ECOMM; > goto out; > } > } while ((irqstat & DATA_COMPLETE) != DATA_COMPLETE); > diff --git a/drivers/mmc/ftsdc010_mci.c b/drivers/mmc/ftsdc010_mci.c > index a620678..c02740f 100644 > --- a/drivers/mmc/ftsdc010_mci.c > +++ b/drivers/mmc/ftsdc010_mci.c > @@ -34,7 +34,7 @@ static inline int ftsdc010_send_cmd(struct mmc *mmc, struct > mmc_cmd *mmc_cmd) > { > struct ftsdc010_chip *chip = mmc->priv; > struct ftsdc010_mmc __iomem *regs = chip->regs; > - int ret = TIMEOUT; > + int ret = -ETIMEDOUT; > uint32_t ts, st; > uint32_t cmd = FTSDC010_CMD_IDX(mmc_cmd->cmdidx); > uint32_t arg = mmc_cmd->cmdarg; > @@ -126,7 +126,7 @@ static void ftsdc010_clkset(struct mmc *mmc, uint32_t > rate) > > static int ftsdc010_wait(struct ftsdc010_mmc __iomem *regs, uint32_t mask) > { > - int ret = TIMEOUT; > + int ret = -ETIMEDOUT; > uint32_t st, ts; > > for (ts = get_timer(0); get_timer(ts) < CFG_CMD_TIMEOUT; ) { > @@ -151,7 +151,7 @@ static int ftsdc010_wait(struct ftsdc010_mmc __iomem > *regs, uint32_t mask) > static int ftsdc010_request(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > { > - int ret = UNUSABLE_ERR; > + int ret = -EOPNOTSUPP; > uint32_t len = 0; > struct ftsdc010_chip *chip = mmc->priv; > struct ftsdc010_mmc __iomem *regs = chip->regs; > @@ -279,7 +279,7 @@ static int ftsdc010_init(struct mmc *mmc) > uint32_t ts; > > if (readl(®s->status) & FTSDC010_STATUS_CARD_DETECT) > - return NO_CARD_ERR; > + return -ENOMEDIUM; > > if (readl(®s->status) & FTSDC010_STATUS_WRITE_PROT) { > printf("ftsdc010: write protected\n"); > @@ -297,7 +297,7 @@ static int ftsdc010_init(struct mmc *mmc) > } > if (readl(®s->cmd) & FTSDC010_CMD_SDC_RST) { > printf("ftsdc010: reset failed\n"); > - return UNUSABLE_ERR; > + return -EOPNOTSUPP; > } > > /* 2. enter low speed mode (400k card detection) */ > diff --git a/drivers/mmc/gen_atmel_mci.c b/drivers/mmc/gen_atmel_mci.c > index 0474a15..69770df 100644 > --- a/drivers/mmc/gen_atmel_mci.c > +++ b/drivers/mmc/gen_atmel_mci.c > @@ -213,7 +213,7 @@ mci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct > mmc_data *data) > > if (!priv->initialized) { > puts ("MCI not initialized!\n"); > - return COMM_ERR; > + return -ECOMM; > } > > /* Figure out the transfer arguments */ > @@ -238,10 +238,10 @@ mci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > > if ((status & error_flags) & MMCI_BIT(RTOE)) { > dump_cmd(cmdr, cmd->cmdarg, status, "Command Time Out"); > - return TIMEOUT; > + return -ETIMEDOUT; > } else if (status & error_flags) { > dump_cmd(cmdr, cmd->cmdarg, status, "Command Failed"); > - return COMM_ERR; > + return -ECOMM; > } > > /* Copy the response to the response buffer */ > @@ -303,7 +303,7 @@ mci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct > mmc_data *data) > if (status) { > dump_cmd(cmdr, cmd->cmdarg, status, > "Data Transfer Failed"); > - return COMM_ERR; > + return -ECOMM; > } > } > > @@ -315,7 +315,7 @@ mci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct > mmc_data *data) > if (status & error_flags) { > dump_cmd(cmdr, cmd->cmdarg, status, > "DTIP Wait Failed"); > - return COMM_ERR; > + return -ECOMM; > } > i++; > } while ((status & MMCI_BIT(DTIP)) && i < 10000); > diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c > index f8e5f7a..3daa748 100644 > --- a/drivers/mmc/mmc.c > +++ b/drivers/mmc/mmc.c > @@ -152,7 +152,7 @@ int mmc_send_status(struct mmc *mmc, int timeout) > printf("Status Error: 0x%08X\n", > cmd.response[0]); > #endif > - return COMM_ERR; > + return -ECOMM; > } > } else if (--retries < 0) > return err; > @@ -168,7 +168,7 @@ int mmc_send_status(struct mmc *mmc, int timeout) > #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) > printf("Timeout waiting card ready\n"); > #endif > - return TIMEOUT; > + return -ETIMEDOUT; > } > > return 0; > @@ -344,7 +344,7 @@ static int sd_send_op_cond(struct mmc *mmc) > break; > > if (timeout-- <= 0) > - return UNUSABLE_ERR; > + return -EOPNOTSUPP; > > udelay(1000); > } > @@ -430,7 +430,7 @@ static int mmc_complete_op_cond(struct mmc *mmc) > if (mmc->ocr & OCR_BUSY) > break; > if (get_timer(start) > timeout) > - return UNUSABLE_ERR; > + return -EOPNOTSUPP; > udelay(100); > } > } > @@ -1429,7 +1429,7 @@ static int mmc_startup(struct mmc *mmc) > &test_csd[EXT_CSD_SEC_CNT], 4) == 0) > break; > else > - err = SWITCH_ERR; > + err = -EBADMSG; > } > > if (err) > @@ -1499,7 +1499,7 @@ static int mmc_send_if_cond(struct mmc *mmc) > return err; > > if ((cmd.response[0] & 0xff) != 0xaa) > - return UNUSABLE_ERR; > + return -EOPNOTSUPP; > else > mmc->version = SD_VERSION_2; > > @@ -1526,7 +1526,7 @@ int mmc_start_init(struct mmc *mmc) > #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) > printf("MMC: no card present\n"); > #endif > - return NO_CARD_ERR; > + return -ENOMEDIUM; > } > > if (mmc->has_init) > @@ -1565,14 +1565,14 @@ int mmc_start_init(struct mmc *mmc) > err = sd_send_op_cond(mmc); > > /* If the command timed out, we check for an MMC card */ > - if (err == TIMEOUT) { > + if (err == -ETIMEDOUT) { > err = mmc_send_op_cond(mmc); > > if (err) { > #if !defined(CONFIG_SPL_BUILD) || defined(CONFIG_SPL_LIBCOMMON_SUPPORT) > printf("Card did not respond to voltage select!\n"); > #endif > - return UNUSABLE_ERR; > + return -EOPNOTSUPP; > } > } > > diff --git a/drivers/mmc/mmc_spi.c b/drivers/mmc/mmc_spi.c > index 7547e1a..2510117 100644 > --- a/drivers/mmc/mmc_spi.c > +++ b/drivers/mmc/mmc_spi.c > @@ -5,6 +5,7 @@ > * Licensed under the GPL-2 or later. > */ > #include <common.h> > +#include <errno.h> > #include <malloc.h> > #include <part.h> > #include <mmc.h> > @@ -182,13 +183,13 @@ static int mmc_spi_request(struct mmc *mmc, struct > mmc_cmd *cmd, > spi_cs_activate(spi); > r1 = mmc_spi_sendcmd(mmc, cmd->cmdidx, cmd->cmdarg); > if (r1 == 0xff) { /* no response */ > - ret = NO_CARD_ERR; > + ret = -ENOMEDIUM; > goto done; > } else if (r1 & R1_SPI_COM_CRC) { > - ret = COMM_ERR; > + ret = -ECOMM; > goto done; > } else if (r1 & ~R1_SPI_IDLE) { /* other errors */ > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > goto done; > } else if (cmd->resp_type == MMC_RSP_R2) { > r1 = mmc_spi_readdata(mmc, cmd->response, 1, 16); > @@ -225,9 +226,9 @@ static int mmc_spi_request(struct mmc *mmc, struct > mmc_cmd *cmd, > data->blocks, data->blocksize, > (cmd->cmdidx == MMC_CMD_WRITE_MULTIPLE_BLOCK)); > if (r1 & R1_SPI_COM_CRC) > - ret = COMM_ERR; > + ret = -ECOMM; > else if (r1) /* other errors */ > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > } > done: > spi_cs_deactivate(spi); > diff --git a/drivers/mmc/mvebu_mmc.c b/drivers/mmc/mvebu_mmc.c > index 056aef5..a2792ac 100644 > --- a/drivers/mmc/mvebu_mmc.c > +++ b/drivers/mmc/mvebu_mmc.c > @@ -9,6 +9,7 @@ > */ > > #include <common.h> > +#include <errno.h> > #include <malloc.h> > #include <part.h> > #include <mmc.h> > @@ -172,15 +173,15 @@ static int mvebu_mmc_send_cmd(struct mmc *mmc, struct > mmc_cmd *cmd, > (SDIO_ERR_CMD_TIMEOUT | SDIO_ERR_DATA_TIMEOUT)) { > debug("%s: command READ timed out\n", > DRIVER_NAME); > - return TIMEOUT; > + return -ETIMEDOUT; > } > debug("%s: command READ error\n", DRIVER_NAME); > - return COMM_ERR; > + return -ECOMM; > } > > if ((get_timer(0) - start) > TIMEOUT_DELAY) { > debug("%s: command timed out\n", DRIVER_NAME); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > > @@ -232,7 +233,7 @@ static int mvebu_mmc_send_cmd(struct mmc *mmc, struct > mmc_cmd *cmd, > > if (mvebu_mmc_read(SDIO_ERR_INTR_STATUS) & > (SDIO_ERR_CMD_TIMEOUT | SDIO_ERR_DATA_TIMEOUT)) > - return TIMEOUT; > + return -ETIMEDOUT; > > return 0; > } > diff --git a/drivers/mmc/mxcmmc.c b/drivers/mmc/mxcmmc.c > index 561b204..8038f90 100644 > --- a/drivers/mmc/mxcmmc.c > +++ b/drivers/mmc/mxcmmc.c > @@ -211,11 +211,11 @@ static int mxcmci_finish_data(struct mxcmci_host *host, > unsigned int stat) > } else if (stat & STATUS_CRC_WRITE_ERR) { > u32 err_code = (stat >> 9) & 0x3; > if (err_code == 2) /* No CRC response */ > - data_error = TIMEOUT; > + data_error = -ETIMEDOUT; > else > data_error = -EILSEQ; > } else if (stat & STATUS_TIME_OUT_READ) { > - data_error = TIMEOUT; > + data_error = -ETIMEDOUT; > } else { > data_error = -EIO; > } > @@ -238,7 +238,7 @@ static int mxcmci_read_response(struct mxcmci_host *host, > unsigned int stat) > > if (stat & STATUS_TIME_OUT_RESP) { > printf("CMD TIMEOUT\n"); > - return TIMEOUT; > + return -ETIMEDOUT; > } else if (stat & STATUS_RESP_CRC_ERR && cmd->resp_type & MMC_RSP_CRC) { > printf("cmd crc error\n"); > return -EILSEQ; > diff --git a/drivers/mmc/mxsmmc.c b/drivers/mmc/mxsmmc.c > index 9fa87d5..40f3eaa 100644 > --- a/drivers/mmc/mxsmmc.c > +++ b/drivers/mmc/mxsmmc.c > @@ -84,7 +84,7 @@ static int mxsmmc_send_cmd_pio(struct mxsmmc_priv *priv, > struct mmc_data *data) > } > } > > - return timeout ? 0 : COMM_ERR; > + return timeout ? 0 : -ECOMM; > } > > static int mxsmmc_send_cmd_dma(struct mxsmmc_priv *priv, struct mmc_data > *data) > @@ -120,7 +120,7 @@ static int mxsmmc_send_cmd_dma(struct mxsmmc_priv *priv, > struct mmc_data *data) > mxs_dma_desc_append(dmach, priv->desc); > if (mxs_dma_go(dmach)) { > bounce_buffer_stop(&bbstate); > - return COMM_ERR; > + return -ECOMM; > } > > bounce_buffer_stop(&bbstate); > @@ -158,13 +158,13 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > > if (!timeout) { > printf("MMC%d: Bus busy timeout!\n", mmc->block_dev.devnum); > - return TIMEOUT; > + return -ETIMEDOUT; > } > > /* See if card is present */ > if (!mxsmmc_cd(priv)) { > printf("MMC%d: No card detected!\n", mmc->block_dev.devnum); > - return NO_CARD_ERR; > + return -ENOMEDIUM; > } > > /* Start building CTRL0 contents */ > @@ -203,7 +203,7 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > priv->mmc_is_wp(mmc->block_dev.devnum)) { > printf("MMC%d: Can not write a locked card!\n", > mmc->block_dev.devnum); > - return UNUSABLE_ERR; > + return -EOPNOTSUPP; > } > > ctrl0 |= SSP_CTRL0_DATA_XFER; > @@ -244,21 +244,21 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > if (!timeout) { > printf("MMC%d: Command %d busy\n", > mmc->block_dev.devnum, cmd->cmdidx); > - return TIMEOUT; > + return -ETIMEDOUT; > } > > /* Check command timeout */ > if (reg & SSP_STATUS_RESP_TIMEOUT) { > printf("MMC%d: Command %d timeout (status 0x%08x)\n", > mmc->block_dev.devnum, cmd->cmdidx, reg); > - return TIMEOUT; > + return -ETIMEDOUT; > } > > /* Check command errors */ > if (reg & (SSP_STATUS_RESP_CRC_ERR | SSP_STATUS_RESP_ERR)) { > printf("MMC%d: Command %d error (status 0x%08x)!\n", > mmc->block_dev.devnum, cmd->cmdidx, reg); > - return COMM_ERR; > + return -ECOMM; > } > > /* Copy response to response buffer */ > @@ -298,7 +298,7 @@ mxsmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > SSP_STATUS_FIFO_OVRFLW | SSP_STATUS_FIFO_UNDRFLW)) { > printf("MMC%d: Data error with command %d (status 0x%08x)!\n", > mmc->block_dev.devnum, cmd->cmdidx, reg); > - return COMM_ERR; > + return -ECOMM; > } > > return 0; > diff --git a/drivers/mmc/omap_hsmmc.c b/drivers/mmc/omap_hsmmc.c > index d007b56..e80ac3d 100644 > --- a/drivers/mmc/omap_hsmmc.c > +++ b/drivers/mmc/omap_hsmmc.c > @@ -231,7 +231,7 @@ static int omap_hsmmc_init_setup(struct mmc *mmc) > while ((readl(&mmc_base->sysstatus) & RESETDONE) == 0) { > if (get_timer(0) - start > MAX_RETRY_MS) { > printf("%s: timedout waiting for cc2!\n", __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > writel(readl(&mmc_base->sysctl) | SOFTRESETALL, &mmc_base->sysctl); > @@ -240,7 +240,7 @@ static int omap_hsmmc_init_setup(struct mmc *mmc) > if (get_timer(0) - start > MAX_RETRY_MS) { > printf("%s: timedout waiting for softresetall!\n", > __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > writel(DTW_1_BITMODE | SDBP_PWROFF | SDVS_3V0, &mmc_base->hctl); > @@ -262,7 +262,7 @@ static int omap_hsmmc_init_setup(struct mmc *mmc) > while ((readl(&mmc_base->sysctl) & ICS_MASK) == ICS_NOTREADY) { > if (get_timer(0) - start > MAX_RETRY_MS) { > printf("%s: timedout waiting for ics!\n", __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > writel(readl(&mmc_base->sysctl) | CEN_ENABLE, &mmc_base->sysctl); > @@ -337,7 +337,7 @@ static int omap_hsmmc_send_cmd(struct mmc *mmc, struct > mmc_cmd *cmd, > if (get_timer(0) - start > MAX_RETRY_MS) { > printf("%s: timedout waiting on cmd inhibit to clear\n", > __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > writel(0xFFFFFFFF, &mmc_base->stat); > @@ -346,7 +346,7 @@ static int omap_hsmmc_send_cmd(struct mmc *mmc, struct > mmc_cmd *cmd, > if (get_timer(0) - start > MAX_RETRY_MS) { > printf("%s: timedout waiting for STAT (%x) to clear\n", > __func__, readl(&mmc_base->stat)); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > /* > @@ -410,13 +410,13 @@ static int omap_hsmmc_send_cmd(struct mmc *mmc, struct > mmc_cmd *cmd, > mmc_stat = readl(&mmc_base->stat); > if (get_timer(0) - start > MAX_RETRY_MS) { > printf("%s : timeout: No status update\n", __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } while (!mmc_stat); > > if ((mmc_stat & IE_CTO) != 0) { > mmc_reset_controller_fsm(mmc_base, SYSCTL_SRC); > - return TIMEOUT; > + return -ETIMEDOUT; > } else if ((mmc_stat & ERRI_MASK) != 0) > return -1; > > @@ -464,7 +464,7 @@ static int mmc_read_data(struct hsmmc *mmc_base, char > *buf, unsigned int size) > if (get_timer(0) - start > MAX_RETRY_MS) { > printf("%s: timedout waiting for status!\n", > __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } while (mmc_stat == 0); > > @@ -519,7 +519,7 @@ static int mmc_write_data(struct hsmmc *mmc_base, const > char *buf, > if (get_timer(0) - start > MAX_RETRY_MS) { > printf("%s: timedout waiting for status!\n", > __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } while (mmc_stat == 0); > > diff --git a/drivers/mmc/s3c_sdi.c b/drivers/mmc/s3c_sdi.c > index 02d1138..1b8358a 100644 > --- a/drivers/mmc/s3c_sdi.c > +++ b/drivers/mmc/s3c_sdi.c > @@ -133,7 +133,7 @@ s3cmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > > if (!timeout) { > puts("S3C SDI: Command timed out!\n"); > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > goto error; > } > > @@ -196,7 +196,7 @@ s3cmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > struct mmc_data *data) > > if (!timeout) { > puts("S3C SDI: Command timed out!\n"); > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > goto error; > } > > diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c > index de8d8ea..4931e68 100644 > --- a/drivers/mmc/sdhci.c > +++ b/drivers/mmc/sdhci.c > @@ -170,7 +170,7 @@ static int sdhci_send_command(struct mmc *mmc, struct > mmc_cmd *cmd, > cmd_timeout); > } else { > puts("timeout.\n"); > - return COMM_ERR; > + return -ECOMM; > } > } > time++; > @@ -260,7 +260,7 @@ static int sdhci_send_command(struct mmc *mmc, struct > mmc_cmd *cmd, > return 0; > else { > printf("%s: Timeout for status update!\n", __func__); > - return TIMEOUT; > + return -ETIMEDOUT; > } > } > > @@ -288,9 +288,9 @@ static int sdhci_send_command(struct mmc *mmc, struct > mmc_cmd *cmd, > sdhci_reset(host, SDHCI_RESET_CMD); > sdhci_reset(host, SDHCI_RESET_DATA); > if (stat & SDHCI_INT_TIMEOUT) > - return TIMEOUT; > + return -ETIMEDOUT; > else > - return COMM_ERR; > + return -ECOMM; > } > > static int sdhci_set_clock(struct mmc *mmc, unsigned int clock) > diff --git a/drivers/mmc/sh_mmcif.c b/drivers/mmc/sh_mmcif.c > index 001bf18..bc4b344 100644 > --- a/drivers/mmc/sh_mmcif.c > +++ b/drivers/mmc/sh_mmcif.c > @@ -168,7 +168,7 @@ static int sh_mmcif_error_manage(struct sh_mmcif_host > *host) > if (state2 & STS2_CRC_ERR) > ret = -EILSEQ; > else if (state2 & STS2_TIMEOUT_ERR) > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > else > ret = -EILSEQ; > return ret; > @@ -483,7 +483,7 @@ static int sh_mmcif_start_cmd(struct sh_mmcif_host *host, > case MMC_CMD_ALL_SEND_CID: > case MMC_CMD_SELECT_CARD: > case MMC_CMD_APP_CMD: > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > break; > default: > printf(DRIVER_NAME": Cmd(d'%d) err\n", cmd->cmdidx); > @@ -520,14 +520,14 @@ static int sh_mmcif_request(struct mmc *mmc, struct > mmc_cmd *cmd, > > switch (cmd->cmdidx) { > case MMC_CMD_APP_CMD: > - return TIMEOUT; > + return -ETIMEDOUT; > case MMC_CMD_SEND_EXT_CSD: /* = SD_SEND_IF_COND (8) */ > if (data) > /* ext_csd */ > break; > else > /* send_if_cond cmd (not support) */ > - return TIMEOUT; > + return -ETIMEDOUT; > default: > break; > } > diff --git a/drivers/mmc/sh_sdhi.c b/drivers/mmc/sh_sdhi.c > index 30e538c..be6aeb1 100644 > --- a/drivers/mmc/sh_sdhi.c > +++ b/drivers/mmc/sh_sdhi.c > @@ -232,7 +232,7 @@ static int sh_sdhi_error_manage(struct sh_sdhi_host *host) > e_state2 = sh_sdhi_readw(host, SDHI_ERR_STS2); > if (e_state2 & ERR_STS2_SYS_ERROR) { > if (e_state2 & ERR_STS2_RES_STOP_TIMEOUT) > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > else > ret = -EILSEQ; > debug("%s: ERR_STS2 = %04x\n", > @@ -246,7 +246,7 @@ static int sh_sdhi_error_manage(struct sh_sdhi_host *host) > if (e_state1 & ERR_STS1_CRC_ERROR || e_state1 & ERR_STS1_CMD_ERROR) > ret = -EILSEQ; > else > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > > debug("%s: ERR_STS1 = %04x\n", > DRIVER_NAME, sh_sdhi_readw(host, SDHI_ERR_STS1)); > @@ -566,7 +566,7 @@ static int sh_sdhi_start_cmd(struct sh_sdhi_host *host, > case MMC_CMD_SELECT_CARD: > case SD_CMD_SEND_IF_COND: > case MMC_CMD_APP_CMD: > - ret = TIMEOUT; > + ret = -ETIMEDOUT; > break; > default: > debug(DRIVER_NAME": Cmd(d'%d) err\n", opc); > diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c > index 5d8abdc..6953acc 100644 > --- a/drivers/mmc/sunxi_mmc.c > +++ b/drivers/mmc/sunxi_mmc.c > @@ -304,7 +304,7 @@ static int mmc_rint_wait(struct mmc *mmc, unsigned int > timeout_msecs, > (status & SUNXI_MMC_RINT_INTERRUPT_ERROR_BIT)) { > debug("%s timeout %x\n", what, > status & SUNXI_MMC_RINT_INTERRUPT_ERROR_BIT); > - return TIMEOUT; > + return -ETIMEDOUT; > } > udelay(1000); > } while (!(status & done_bit)); > @@ -375,7 +375,7 @@ static int sunxi_mmc_send_cmd(struct mmc *mmc, struct > mmc_cmd *cmd, > if (ret) { > error = readl(&mmchost->reg->rint) & \ > SUNXI_MMC_RINT_INTERRUPT_ERROR_BIT; > - error = TIMEOUT; > + error = -ETIMEDOUT; > goto out; > } > } > @@ -402,7 +402,7 @@ static int sunxi_mmc_send_cmd(struct mmc *mmc, struct > mmc_cmd *cmd, > status = readl(&mmchost->reg->status); > if (!timeout_msecs--) { > debug("busy timeout\n"); > - error = TIMEOUT; > + error = -ETIMEDOUT; > goto out; > } > udelay(1000); > diff --git a/drivers/mmc/tegra_mmc.c b/drivers/mmc/tegra_mmc.c > index c9d9432..023ba3c 100644 > --- a/drivers/mmc/tegra_mmc.c > +++ b/drivers/mmc/tegra_mmc.c > @@ -9,6 +9,7 @@ > > #include <bouncebuf.h> > #include <common.h> > +#include <errno.h> > #include <asm/gpio.h> > #include <asm/io.h> > #ifndef CONFIG_TEGRA186 > @@ -216,14 +217,14 @@ static int mmc_send_cmd_bounced(struct mmc *mmc, struct > mmc_cmd *cmd, > if (i == retry) { > printf("%s: waiting for status update\n", __func__); > writel(mask, &host->reg->norintsts); > - return TIMEOUT; > + return -ETIMEDOUT; > } > > if (mask & TEGRA_MMC_NORINTSTS_CMD_TIMEOUT) { > /* Timeout Error */ > debug("timeout: %08x cmd %d\n", mask, cmd->cmdidx); > writel(mask, &host->reg->norintsts); > - return TIMEOUT; > + return -ETIMEDOUT; > } else if (mask & TEGRA_MMC_NORINTSTS_ERR_INTERRUPT) { > /* Error Interrupt */ > debug("error: %08x cmd %d\n", mask, cmd->cmdidx); > @@ -257,7 +258,7 @@ static int mmc_send_cmd_bounced(struct mmc *mmc, struct > mmc_cmd *cmd, > if (i == retry) { > printf("%s: card is still busy\n", __func__); > writel(mask, &host->reg->norintsts); > - return TIMEOUT; > + return -ETIMEDOUT; > } > > cmd->response[0] = readl(&host->reg->rspreg0); > diff --git a/drivers/mmc/uniphier-sd.c b/drivers/mmc/uniphier-sd.c > index 152e987..3c2fa6a 100644 > --- a/drivers/mmc/uniphier-sd.c > +++ b/drivers/mmc/uniphier-sd.c > @@ -162,7 +162,7 @@ static int uniphier_sd_check_error(struct > uniphier_sd_priv *priv) > * display error log since this might be a part of sequence to > * distinguish between SD and MMC. > */ > - return TIMEOUT; > + return -ETIMEDOUT; > } > > if (info2 & UNIPHIER_SD_INFO2_ERR_TO) { > diff --git a/include/mmc.h b/include/mmc.h > index 8f309f1..c59282e 100644 > --- a/include/mmc.h > +++ b/include/mmc.h > @@ -66,12 +66,6 @@ > #define MMC_DATA_READ 1 > #define MMC_DATA_WRITE 2 > > -#define NO_CARD_ERR -16 /* No SD/MMC card inserted */ > -#define UNUSABLE_ERR -17 /* Unusable Card */ > -#define COMM_ERR -18 /* Communications Error */ > -#define TIMEOUT -19 > -#define SWITCH_ERR -20 /* Card reports failure to switch mode */ > - > #define MMC_CMD_GO_IDLE_STATE 0 > #define MMC_CMD_SEND_OP_COND 1 > #define MMC_CMD_ALL_SEND_CID 2 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot