[PATCH] Revert "mmc: davinci: drop struct davinci_mmc_plat"

Adam Ford aford173 at gmail.com
Fri Jan 3 19:56:06 CET 2020


On Fri, Jan 3, 2020 at 12:17 PM Tom Rini <trini at konsulko.com> wrote:
>
> Adam Ford reports that this change breaks booting on da850-evm and
> Bartosz Golaszewski agrees that with the impending release we should
> revert the change for now.  With that noted:
>
> This reverts commit 21a4d80a710c79053ac1deaa65ff9b69e6c031d4.
>

Tested-by: Adam Ford <aford173 at gmail.com>

> Cc: Adam Ford <aford173 at gmail.com>
> Cc: Bartosz Golaszewski <brgl at bgdev.pl>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---


>  drivers/mmc/davinci_mmc.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/mmc/davinci_mmc.c b/drivers/mmc/davinci_mmc.c
> index c3f7b57665d3..ef5cd4e7234f 100644
> --- a/drivers/mmc/davinci_mmc.c
> +++ b/drivers/mmc/davinci_mmc.c
> @@ -32,6 +32,10 @@ struct davinci_mmc_priv {
>         uint input_clk;         /* Input clock to MMC controller */
>         struct gpio_desc cd_gpio;       /* Card Detect GPIO */
>         struct gpio_desc wp_gpio;       /* Write Protect GPIO */
> +};
> +
> +struct davinci_mmc_plat
> +{
>         struct mmc_config cfg;
>         struct mmc mmc;
>  };
> @@ -480,8 +484,9 @@ int davinci_mmc_init(bd_t *bis, struct davinci_mmc *host)
>  static int davinci_mmc_probe(struct udevice *dev)
>  {
>         struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
> +       struct davinci_mmc_plat *plat = dev_get_platdata(dev);
>         struct davinci_mmc_priv *priv = dev_get_priv(dev);
> -       struct mmc_config *cfg = &priv->cfg;
> +       struct mmc_config *cfg = &plat->cfg;
>  #ifdef CONFIG_SPL_BUILD
>         int ret;
>  #endif
> @@ -502,7 +507,7 @@ static int davinci_mmc_probe(struct udevice *dev)
>         gpio_request_by_name(dev, "wp-gpios", 0, &priv->wp_gpio, GPIOD_IS_IN);
>  #endif
>
> -       upriv->mmc = &priv->mmc;
> +       upriv->mmc = &plat->mmc;
>
>  #ifdef CONFIG_SPL_BUILD
>         /*
> @@ -513,7 +518,7 @@ static int davinci_mmc_probe(struct udevice *dev)
>          * support in SPL, hence the hard-coded base register address.
>          */
>         priv->reg_base = (struct davinci_mmc_regs *)DAVINCI_MMC_SD0_BASE;
> -       ret = mmc_bind(dev, &priv->mmc, &priv->cfg);
> +       ret = mmc_bind(dev, &plat->mmc, &plat->cfg);
>         if (ret)
>                 return ret;
>  #endif
> @@ -523,9 +528,9 @@ static int davinci_mmc_probe(struct udevice *dev)
>
>  static int davinci_mmc_bind(struct udevice *dev)
>  {
> -       struct davinci_mmc_priv *priv = dev_get_priv(dev);
> +       struct davinci_mmc_plat *plat = dev_get_platdata(dev);
>
> -       return mmc_bind(dev, &priv->mmc, &priv->cfg);
> +       return mmc_bind(dev, &plat->mmc, &plat->cfg);
>  }
>
>  static const struct udevice_id davinci_mmc_ids[] = {
> @@ -542,6 +547,7 @@ U_BOOT_DRIVER(davinci_mmc_drv) = {
>  #endif
>         .probe = davinci_mmc_probe,
>         .ops = &davinci_mmc_ops,
> +       .platdata_auto_alloc_size = sizeof(struct davinci_mmc_plat),
>         .priv_auto_alloc_size = sizeof(struct davinci_mmc_priv),
>  };
>  #endif
> --
> 2.17.1
>


More information about the U-Boot mailing list