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>
master
Kishon Vijay Abraham I 6 years ago committed by Jaehoon Chung
parent 5baf543e52
commit 48a2f11443
  1. 29
      drivers/mmc/omap_hsmmc.c

@ -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…
Cancel
Save