Message ID | 1438913789-22308-1-git-send-email-sjg@chromium.org |
---|---|
State | Accepted |
Delegated to: | Pantelis Antoniou |
Headers | show |
Acked-by: Jaehoon Chung <jh80.chung@samsung.com> Best Regards, Jaehoon Chung On 08/07/2015 11:16 AM, Simon Glass wrote: > The dw_mmc driver uses printf() in various places. > > These bloat the code and cause problems for SPL. Use debug() where possible > and try to return a useful error code instead. > > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > > Changes in v4: > - Update commit message to indicate this patch is for the dw_mmc driver > > drivers/mmc/dw_mmc.c | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-) > > diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c > index 53a8aca..8f28d7e 100644 > --- a/drivers/mmc/dw_mmc.c > +++ b/drivers/mmc/dw_mmc.c > @@ -8,6 +8,7 @@ > > #include <bouncebuf.h> > #include <common.h> > +#include <errno.h> > #include <malloc.h> > #include <mmc.h> > #include <dwmmc.h> > @@ -119,7 +120,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) { > - printf("%s: Timeout on data busy\n", __func__); > + debug("%s: Timeout on data busy\n", __func__); > return TIMEOUT; > } > } > @@ -178,7 +179,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > } > > if (i == retry) { > - printf("%s: Timeout.\n", __func__); > + debug("%s: Timeout.\n", __func__); > return TIMEOUT; > } > > @@ -194,8 +195,8 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > 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; > } > > > @@ -214,7 +215,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > do { > mask = dwmci_readl(host, DWMCI_RINTSTS); > if (mask & (DWMCI_DATA_ERR | DWMCI_DATA_TOUT)) { > - printf("%s: DATA ERROR!\n", __func__); > + debug("%s: DATA ERROR!\n", __func__); > return -1; > } > } while (!(mask & DWMCI_INTMSK_DTO)); > @@ -251,7 +252,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) > 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; > } > > @@ -270,7 +271,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) > 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); > @@ -285,7 +286,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) > 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); > @@ -339,8 +340,8 @@ static int dwmci_init(struct mmc *mmc) > 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 */ >
Hi Simon, > On Aug 7, 2015, at 05:16 , Simon Glass <sjg@chromium.org> wrote: > > The dw_mmc driver uses printf() in various places. > > These bloat the code and cause problems for SPL. Use debug() where possible > and try to return a useful error code instead. > > Signed-off-by: Simon Glass <sjg@chromium.org> > --- > > Changes in v4: > - Update commit message to indicate this patch is for the dw_mmc driver > > drivers/mmc/dw_mmc.c | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-) > > diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c > index 53a8aca..8f28d7e 100644 > --- a/drivers/mmc/dw_mmc.c > +++ b/drivers/mmc/dw_mmc.c > @@ -8,6 +8,7 @@ > > #include <bouncebuf.h> > #include <common.h> > +#include <errno.h> > #include <malloc.h> > #include <mmc.h> > #include <dwmmc.h> > @@ -119,7 +120,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) { > - printf("%s: Timeout on data busy\n", __func__); > + debug("%s: Timeout on data busy\n", __func__); > return TIMEOUT; > } > } > @@ -178,7 +179,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > } > > if (i == retry) { > - printf("%s: Timeout.\n", __func__); > + debug("%s: Timeout.\n", __func__); > return TIMEOUT; > } > > @@ -194,8 +195,8 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > 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; > } > > > @@ -214,7 +215,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, > do { > mask = dwmci_readl(host, DWMCI_RINTSTS); > if (mask & (DWMCI_DATA_ERR | DWMCI_DATA_TOUT)) { > - printf("%s: DATA ERROR!\n", __func__); > + debug("%s: DATA ERROR!\n", __func__); > return -1; > } > } while (!(mask & DWMCI_INTMSK_DTO)); > @@ -251,7 +252,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) > 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; > } > > @@ -270,7 +271,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) > 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); > @@ -285,7 +286,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) > 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); > @@ -339,8 +340,8 @@ static int dwmci_init(struct mmc *mmc) > 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 */ > -- > 2.5.0.rc2.392.g76e840b > Applied, with a small rework to account for a couple of printfs that Marek’s patch introduced. Thanks — Pantelis
diff --git a/drivers/mmc/dw_mmc.c b/drivers/mmc/dw_mmc.c index 53a8aca..8f28d7e 100644 --- a/drivers/mmc/dw_mmc.c +++ b/drivers/mmc/dw_mmc.c @@ -8,6 +8,7 @@ #include <bouncebuf.h> #include <common.h> +#include <errno.h> #include <malloc.h> #include <mmc.h> #include <dwmmc.h> @@ -119,7 +120,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) { - printf("%s: Timeout on data busy\n", __func__); + debug("%s: Timeout on data busy\n", __func__); return TIMEOUT; } } @@ -178,7 +179,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, } if (i == retry) { - printf("%s: Timeout.\n", __func__); + debug("%s: Timeout.\n", __func__); return TIMEOUT; } @@ -194,8 +195,8 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, 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; } @@ -214,7 +215,7 @@ static int dwmci_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, do { mask = dwmci_readl(host, DWMCI_RINTSTS); if (mask & (DWMCI_DATA_ERR | DWMCI_DATA_TOUT)) { - printf("%s: DATA ERROR!\n", __func__); + debug("%s: DATA ERROR!\n", __func__); return -1; } } while (!(mask & DWMCI_INTMSK_DTO)); @@ -251,7 +252,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) 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; } @@ -270,7 +271,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) 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); @@ -285,7 +286,7 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq) 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); @@ -339,8 +340,8 @@ static int dwmci_init(struct mmc *mmc) 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 */
The dw_mmc driver uses printf() in various places. These bloat the code and cause problems for SPL. Use debug() where possible and try to return a useful error code instead. Signed-off-by: Simon Glass <sjg@chromium.org> --- Changes in v4: - Update commit message to indicate this patch is for the dw_mmc driver drivers/mmc/dw_mmc.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-)