[PATCH 09/33] mmc: stm32_sdmmc2: migrate trace to dev and log macro

Peng Fan peng.fan at nxp.com
Thu Oct 15 12:25:09 CEST 2020


> Subject: [PATCH 09/33] mmc: stm32_sdmmc2: migrate trace to dev and log
> macro
> 
> Define LOG_CATEGORY, use dev_ macro when it is possible.
> Remove the "%s:" __func__  header as it is managed by dev macro
> (dev->name is displayed) or log macro (CONFIG_LOGF_FUNC).
> 
> Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
> ---
> 
>  drivers/mmc/stm32_sdmmc2.c | 85
> ++++++++++++++++++++------------------
>  1 file changed, 44 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/mmc/stm32_sdmmc2.c b/drivers/mmc/stm32_sdmmc2.c
> index 6d50356217..483660c9d3 100644
> --- a/drivers/mmc/stm32_sdmmc2.c
> +++ b/drivers/mmc/stm32_sdmmc2.c
> @@ -4,6 +4,8 @@
>   * Author(s): Patrice Chotard, <patrice.chotard at st.com> for
> STMicroelectronics.
>   */
> 
> +#define LOG_CATEGORY UCLASS_MMC
> +
>  #include <common.h>
>  #include <clk.h>
>  #include <cpu_func.h>
> @@ -200,10 +202,11 @@ struct stm32_sdmmc2_ctx {
>  #define SDMMC_CMD_TIMEOUT		0xFFFFFFFF
>  #define SDMMC_BUSYD0END_TIMEOUT_US	2000000
> 
> -static void stm32_sdmmc2_start_data(struct stm32_sdmmc2_priv *priv,
> +static void stm32_sdmmc2_start_data(struct udevice *dev,
>  				    struct mmc_data *data,
>  				    struct stm32_sdmmc2_ctx *ctx)
>  {
> +	struct stm32_sdmmc2_priv *priv = dev_get_priv(dev);
>  	u32 data_ctrl, idmabase0;
> 
>  	/* Configure the SDMMC DPSM (Data Path State Machine) */ @@
> -241,10 +244,11 @@ static void stm32_sdmmc2_start_data(struct
> stm32_sdmmc2_priv *priv,
>  	writel(SDMMC_IDMACTRL_IDMAEN, priv->base +
> SDMMC_IDMACTRL);  }
> 
> -static void stm32_sdmmc2_start_cmd(struct stm32_sdmmc2_priv *priv,
> +static void stm32_sdmmc2_start_cmd(struct udevice *dev,
>  				   struct mmc_cmd *cmd, u32 cmd_param,
>  				   struct stm32_sdmmc2_ctx *ctx)
>  {
> +	struct stm32_sdmmc2_priv *priv = dev_get_priv(dev);
>  	u32 timeout = 0;
> 
>  	if (readl(priv->base + SDMMC_CMD) & SDMMC_CMD_CPSMEN) @@
> -290,10 +294,11 @@ static void stm32_sdmmc2_start_cmd(struct
> stm32_sdmmc2_priv *priv,
>  	writel(cmd_param, priv->base + SDMMC_CMD);  }
> 
> -static int stm32_sdmmc2_end_cmd(struct stm32_sdmmc2_priv *priv,
> +static int stm32_sdmmc2_end_cmd(struct udevice *dev,
>  				struct mmc_cmd *cmd,
>  				struct stm32_sdmmc2_ctx *ctx)
>  {
> +	struct stm32_sdmmc2_priv *priv = dev_get_priv(dev);
>  	u32 mask = SDMMC_STA_CTIMEOUT;
>  	u32 status;
>  	int ret;
> @@ -311,22 +316,22 @@ static int stm32_sdmmc2_end_cmd(struct
> stm32_sdmmc2_priv *priv,
>  				 10000);
> 
>  	if (ret < 0) {
> -		debug("%s: timeout reading SDMMC_STA register\n", __func__);
> +		dev_dbg(dev, "timeout reading SDMMC_STA register\n");
>  		ctx->dpsm_abort = true;
>  		return ret;
>  	}
> 
>  	/* Check status */
>  	if (status & SDMMC_STA_CTIMEOUT) {
> -		debug("%s: error SDMMC_STA_CTIMEOUT (0x%x) for cmd %d\n",
> -		      __func__, status, cmd->cmdidx);
> +		dev_dbg(dev, "error SDMMC_STA_CTIMEOUT (0x%x) for
> cmd %d\n",
> +			status, cmd->cmdidx);
>  		ctx->dpsm_abort = true;
>  		return -ETIMEDOUT;
>  	}
> 
>  	if (status & SDMMC_STA_CCRCFAIL && cmd->resp_type &
> MMC_RSP_CRC) {
> -		debug("%s: error SDMMC_STA_CCRCFAIL (0x%x) for cmd %d\n",
> -		      __func__, status, cmd->cmdidx);
> +		dev_dbg(dev, "error SDMMC_STA_CCRCFAIL (0x%x) for cmd %d\n",
> +			status, cmd->cmdidx);
>  		ctx->dpsm_abort = true;
>  		return -EILSEQ;
>  	}
> @@ -350,15 +355,15 @@ static int stm32_sdmmc2_end_cmd(struct
> stm32_sdmmc2_priv *priv,
>  						 SDMMC_BUSYD0END_TIMEOUT_US);
> 
>  			if (ret < 0) {
> -				debug("%s: timeout reading SDMMC_STA\n",
> -				      __func__);
> +				dev_dbg(dev, "timeout reading SDMMC_STA\n");
>  				ctx->dpsm_abort = true;
>  				return ret;
>  			}
> 
>  			if (status & SDMMC_STA_DTIMEOUT) {
> -				debug("%s: error SDMMC_STA_DTIMEOUT (0x%x)\n",
> -				      __func__, status);
> +				dev_dbg(dev,
> +					"error SDMMC_STA_DTIMEOUT (0x%x)\n",
> +					status);
>  				ctx->dpsm_abort = true;
>  				return -ETIMEDOUT;
>  			}
> @@ -368,11 +373,12 @@ static int stm32_sdmmc2_end_cmd(struct
> stm32_sdmmc2_priv *priv,
>  	return 0;
>  }
> 
> -static int stm32_sdmmc2_end_data(struct stm32_sdmmc2_priv *priv,
> +static int stm32_sdmmc2_end_data(struct udevice *dev,
>  				 struct mmc_cmd *cmd,
>  				 struct mmc_data *data,
>  				 struct stm32_sdmmc2_ctx *ctx)
>  {
> +	struct stm32_sdmmc2_priv *priv = dev_get_priv(dev);
>  	u32 mask = SDMMC_STA_DCRCFAIL | SDMMC_STA_DTIMEOUT |
>  		   SDMMC_STA_IDMATE | SDMMC_STA_DATAEND;
>  	u32 status;
> @@ -394,37 +400,37 @@ static int stm32_sdmmc2_end_data(struct
> stm32_sdmmc2_priv *priv,
>  		invalidate_dcache_range(ctx->cache_start, ctx->cache_end);
> 
>  	if (status & SDMMC_STA_DCRCFAIL) {
> -		debug("%s: error SDMMC_STA_DCRCFAIL (0x%x) for cmd %d\n",
> -		      __func__, status, cmd->cmdidx);
> +		dev_dbg(dev, "error SDMMC_STA_DCRCFAIL (0x%x) for cmd %d\n",
> +			status, cmd->cmdidx);
>  		if (readl(priv->base + SDMMC_DCOUNT))
>  			ctx->dpsm_abort = true;
>  		return -EILSEQ;
>  	}
> 
>  	if (status & SDMMC_STA_DTIMEOUT) {
> -		debug("%s: error SDMMC_STA_DTIMEOUT (0x%x) for cmd %d\n",
> -		      __func__, status, cmd->cmdidx);
> +		dev_dbg(dev, "error SDMMC_STA_DTIMEOUT (0x%x) for
> cmd %d\n",
> +			status, cmd->cmdidx);
>  		ctx->dpsm_abort = true;
>  		return -ETIMEDOUT;
>  	}
> 
>  	if (status & SDMMC_STA_TXUNDERR) {
> -		debug("%s: error SDMMC_STA_TXUNDERR (0x%x) for cmd %d\n",
> -		      __func__, status, cmd->cmdidx);
> +		dev_dbg(dev, "error SDMMC_STA_TXUNDERR (0x%x) for
> cmd %d\n",
> +			status, cmd->cmdidx);
>  		ctx->dpsm_abort = true;
>  		return -EIO;
>  	}
> 
>  	if (status & SDMMC_STA_RXOVERR) {
> -		debug("%s: error SDMMC_STA_RXOVERR (0x%x) for cmd %d\n",
> -		      __func__, status, cmd->cmdidx);
> +		dev_dbg(dev, "error SDMMC_STA_RXOVERR (0x%x) for cmd %d\n",
> +			status, cmd->cmdidx);
>  		ctx->dpsm_abort = true;
>  		return -EIO;
>  	}
> 
>  	if (status & SDMMC_STA_IDMATE) {
> -		debug("%s: error SDMMC_STA_IDMATE (0x%x) for cmd %d\n",
> -		      __func__, status, cmd->cmdidx);
> +		dev_dbg(dev, "error SDMMC_STA_IDMATE (0x%x) for cmd %d\n",
> +			status, cmd->cmdidx);
>  		ctx->dpsm_abort = true;
>  		return -EIO;
>  	}
> @@ -448,19 +454,18 @@ retry_cmd:
> 
>  	if (data) {
>  		ctx.data_length = data->blocks * data->blocksize;
> -		stm32_sdmmc2_start_data(priv, data, &ctx);
> +		stm32_sdmmc2_start_data(dev, data, &ctx);
>  	}
> 
> -	stm32_sdmmc2_start_cmd(priv, cmd, cmdat, &ctx);
> +	stm32_sdmmc2_start_cmd(dev, cmd, cmdat, &ctx);
> 
> -	debug("%s: send cmd %d data: 0x%x @ 0x%x\n",
> -	      __func__, cmd->cmdidx,
> -	      data ? ctx.data_length : 0, (unsigned int)data);
> +	dev_dbg(dev, "send cmd %d data: 0x%x @ 0x%x\n",
> +		cmd->cmdidx, data ? ctx.data_length : 0, (unsigned int)data);
> 
> -	ret = stm32_sdmmc2_end_cmd(priv, cmd, &ctx);
> +	ret = stm32_sdmmc2_end_cmd(dev, cmd, &ctx);
> 
>  	if (data && !ret)
> -		ret = stm32_sdmmc2_end_data(priv, cmd, data, &ctx);
> +		ret = stm32_sdmmc2_end_data(dev, cmd, data, &ctx);
> 
>  	/* Clear flags */
>  	writel(SDMMC_ICR_STATIC_FLAGS, priv->base + SDMMC_ICR); @@
> -478,26 +483,24 @@ retry_cmd:
>  		stop_cmd.cmdarg = 0;
>  		stop_cmd.resp_type = MMC_RSP_R1b;
> 
> -		debug("%s: send STOP command to abort dpsm treatments\n",
> -		      __func__);
> +		dev_dbg(dev, "send STOP command to abort dpsm treatments\n");
> 
>  		ctx.data_length = 0;
> 
> -		stm32_sdmmc2_start_cmd(priv, &stop_cmd,
> +		stm32_sdmmc2_start_cmd(dev, &stop_cmd,
>  				       SDMMC_CMD_CMDSTOP, &ctx);
> -		stm32_sdmmc2_end_cmd(priv, &stop_cmd, &ctx);
> +		stm32_sdmmc2_end_cmd(dev, &stop_cmd, &ctx);
> 
>  		writel(SDMMC_ICR_STATIC_FLAGS, priv->base + SDMMC_ICR);
>  	}
> 
>  	if ((ret != -ETIMEDOUT) && (ret != 0) && retry) {
> -		printf("%s: cmd %d failed, retrying ...\n",
> -		       __func__, cmd->cmdidx);
> +		dev_err(dev, "cmd %d failed, retrying ...\n", cmd->cmdidx);
>  		retry--;
>  		goto retry_cmd;
>  	}
> 
> -	debug("%s: end for CMD %d, ret = %d\n", __func__, cmd->cmdidx, ret);
> +	dev_dbg(dev, "end for CMD %d, ret = %d\n", cmd->cmdidx, ret);
> 
>  	return ret;
>  }
> @@ -579,8 +582,8 @@ static int stm32_sdmmc2_set_ios(struct udevice
> *dev)
>  	u32 sys_clock = clk_get_rate(&priv->clk);
>  	u32 clk = 0;
> 
> -	debug("%s: bus_with = %d, clock = %d\n", __func__,
> -	      mmc->bus_width, mmc->clock);
> +	dev_dbg(dev, "bus_with = %d, clock = %d\n",
> +		mmc->bus_width, mmc->clock);
> 
>  	if (mmc->clk_disable)
>  		stm32_sdmmc2_pwrcycle(priv);
> @@ -616,7 +619,7 @@ static int stm32_sdmmc2_getcd(struct udevice *dev)
> {
>  	struct stm32_sdmmc2_priv *priv = dev_get_priv(dev);
> 
> -	debug("stm32_sdmmc2_getcd called\n");
> +	dev_dbg(dev, "%s called\n", __func__);
> 
>  	if (dm_gpio_is_valid(&priv->cd_gpio))
>  		return dm_gpio_get_value(&priv->cd_gpio);
> @@ -695,7 +698,7 @@ static int stm32_sdmmc2_probe(struct udevice *dev)
>  	case 1:
>  		break;
>  	default:
> -		pr_err("invalid \"bus-width\" property, force to 1\n");
> +		dev_err(dev, "invalid \"bus-width\" property, force to 1\n");
>  	}
> 
>  	upriv->mmc = &plat->mmc;
> --

Reviewed-by: Peng Fan <peng.fan at nxp.com>


More information about the U-Boot mailing list