diff options
author | Tom Rini <trini@konsulko.com> | 2020-01-03 20:00:04 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-01-04 17:33:33 +0300 |
commit | 797eee36a160c563a52fdb77dfceac13e83de47c (patch) | |
tree | 5db78991669a499b2c74c813d21b303ff4df890c | |
parent | 70bd39d72a11544a28adfa4af2e1a8fdce6775ba (diff) | |
download | u-boot-797eee36a160c563a52fdb77dfceac13e83de47c.tar.xz |
Revert "mmc: davinci: drop struct davinci_mmc_plat"
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.
Cc: Bartosz Golaszewski <brgl@bgdev.pl>
Tested-by: Adam Ford <aford173@gmail.com>
Signed-off-by: Tom Rini <trini@konsulko.com>
-rw-r--r-- | drivers/mmc/davinci_mmc.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/mmc/davinci_mmc.c b/drivers/mmc/davinci_mmc.c index c3f7b57665..ef5cd4e723 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 |