mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 17:10:11 +00:00
mmc: omap_hsmmc: cleanup omap_hsmmc_set_ios
No functional change. Move bus width configuration setting to a separate function and invoke it only if there is a change in the bus width. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
This commit is contained in:
parent
5baf543e52
commit
48a2f11443
1 changed files with 20 additions and 9 deletions
|
@ -62,6 +62,7 @@ struct omap_hsmmc_data {
|
||||||
#if !CONFIG_IS_ENABLED(DM_MMC)
|
#if !CONFIG_IS_ENABLED(DM_MMC)
|
||||||
struct mmc_config cfg;
|
struct mmc_config cfg;
|
||||||
#endif
|
#endif
|
||||||
|
uint bus_width;
|
||||||
uint clock;
|
uint clock;
|
||||||
#ifdef OMAP_HSMMC_USE_GPIO
|
#ifdef OMAP_HSMMC_USE_GPIO
|
||||||
#if CONFIG_IS_ENABLED(DM_MMC)
|
#if CONFIG_IS_ENABLED(DM_MMC)
|
||||||
|
@ -814,17 +815,9 @@ static void omap_hsmmc_set_clock(struct mmc *mmc)
|
||||||
omap_hsmmc_start_clock(mmc_base);
|
omap_hsmmc_start_clock(mmc_base);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if !CONFIG_IS_ENABLED(DM_MMC)
|
static void omap_hsmmc_set_bus_width(struct mmc *mmc)
|
||||||
static int omap_hsmmc_set_ios(struct mmc *mmc)
|
|
||||||
{
|
{
|
||||||
struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
|
struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
|
||||||
#else
|
|
||||||
static int omap_hsmmc_set_ios(struct udevice *dev)
|
|
||||||
{
|
|
||||||
struct omap_hsmmc_data *priv = dev_get_priv(dev);
|
|
||||||
struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
|
|
||||||
struct mmc *mmc = upriv->mmc;
|
|
||||||
#endif
|
|
||||||
struct hsmmc *mmc_base;
|
struct hsmmc *mmc_base;
|
||||||
|
|
||||||
mmc_base = priv->base_addr;
|
mmc_base = priv->base_addr;
|
||||||
|
@ -851,6 +844,24 @@ static int omap_hsmmc_set_ios(struct udevice *dev)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
priv->bus_width = mmc->bus_width;
|
||||||
|
}
|
||||||
|
|
||||||
|
#if !CONFIG_IS_ENABLED(DM_MMC)
|
||||||
|
static int omap_hsmmc_set_ios(struct mmc *mmc)
|
||||||
|
{
|
||||||
|
struct omap_hsmmc_data *priv = omap_hsmmc_get_data(mmc);
|
||||||
|
#else
|
||||||
|
static int omap_hsmmc_set_ios(struct udevice *dev)
|
||||||
|
{
|
||||||
|
struct omap_hsmmc_data *priv = dev_get_priv(dev);
|
||||||
|
struct mmc_uclass_priv *upriv = dev_get_uclass_priv(dev);
|
||||||
|
struct mmc *mmc = upriv->mmc;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (priv->bus_width != mmc->bus_width)
|
||||||
|
omap_hsmmc_set_bus_width(mmc);
|
||||||
|
|
||||||
if (priv->clock != mmc->clock)
|
if (priv->clock != mmc->clock)
|
||||||
omap_hsmmc_set_clock(mmc);
|
omap_hsmmc_set_clock(mmc);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue