> -----Original Message-----
> From: Simon Glass [mailto:s...@chromium.org]
> Sent: Thursday, October 13, 2022 9:29 PM
> To: U-Boot Mailing List <u-boot@lists.denx.de>
> Cc: Tom Rini <tr...@konsulko.com>; Simon Glass <s...@chromium.org>; Jaehoon 
> Chung
> <jh80.ch...@samsung.com>; Marek Vasut <ma...@denx.de>; Pavel Herrmann 
> <morpheus.i...@gmail.com>;
> Peng Fan <peng....@nxp.com>
> Subject: [PATCH v2 22/45] dm: mmc: Allow sandbox emulator to build without 
> writes
> 
> When MMC_WRITE is disabled this driver produced a build error. Fix this.
> 
> Also update a comment while we are here.
> 
> Signed-off-by: Simon Glass <s...@chromium.org>


Reviewed-by: Jaehoon Chung <jh80.ch...@samsung.com>

Best Regards,
Jaehoon Chung

> ---
> 
> (no changes since v1)
> 
>  drivers/mmc/sandbox_mmc.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/mmc/sandbox_mmc.c b/drivers/mmc/sandbox_mmc.c
> index 451fe4a4e5a..ba79a5565c3 100644
> --- a/drivers/mmc/sandbox_mmc.c
> +++ b/drivers/mmc/sandbox_mmc.c
> @@ -23,6 +23,8 @@ struct sandbox_mmc_plat {
>  #define MMC_CMULT            8 /* 8 because the card is high-capacity */
>  #define MMC_BL_LEN_SHIFT     10
>  #define MMC_BL_LEN           BIT(MMC_BL_LEN_SHIFT)
> +
> +/* Granularity of priv->csize - this is 1MB */
>  #define SIZE_MULTIPLE                ((1 << (MMC_CMULT + 2)) * MMC_BL_LEN)
> 
>  struct sandbox_mmc_priv {
> @@ -41,7 +43,6 @@ static int sandbox_mmc_send_cmd(struct udevice *dev, struct 
> mmc_cmd *cmd,
>                               struct mmc_data *data)
>  {
>       struct sandbox_mmc_priv *priv = dev_get_priv(dev);
> -     struct mmc *mmc = mmc_get_mmc_dev(dev);
>       static ulong erase_start, erase_end;
> 
>       switch (cmd->cmdidx) {
> @@ -95,10 +96,15 @@ static int sandbox_mmc_send_cmd(struct udevice *dev, 
> struct mmc_cmd *cmd,
>       case SD_CMD_ERASE_WR_BLK_END:
>               erase_end = cmd->cmdarg;
>               break;
> -     case MMC_CMD_ERASE:
> +#if CONFIG_IS_ENABLED(MMC_WRITE)
> +     case MMC_CMD_ERASE: {
> +             struct mmc *mmc = mmc_get_mmc_dev(dev);
> +
>               memset(&priv->buf[erase_start * mmc->write_bl_len], '\0',
>                      (erase_end - erase_start + 1) * mmc->write_bl_len);
>               break;
> +     }
> +#endif
>       case SD_CMD_APP_SEND_OP_COND:
>               cmd->response[0] = OCR_BUSY | OCR_HCS;
>               cmd->response[1] = 0;
> --
> 2.38.0.rc1.362.ged0d419d3c-goog


Reply via email to