Browse Source

mmc: make mmc_set_ios() return status

set_ios callback has a return value of 'int' but the mmc_set_ios()
function ignore this. Modify mmc_set_ios() and the callers of mmc_set_ios() to
to return the error status.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Kishon Vijay Abraham I 7 years ago
parent
commit
2a4d212f71
2 changed files with 11 additions and 7 deletions
  1. 10 6
      drivers/mmc/mmc.c
  2. 1 1
      include/mmc.h

+ 10 - 6
drivers/mmc/mmc.c

@@ -1196,14 +1196,18 @@ static inline int bus_width(uint cap)
 }
 }
 
 
 #if !CONFIG_IS_ENABLED(DM_MMC)
 #if !CONFIG_IS_ENABLED(DM_MMC)
-static void mmc_set_ios(struct mmc *mmc)
+static int mmc_set_ios(struct mmc *mmc)
 {
 {
+	int ret = 0;
+
 	if (mmc->cfg->ops->set_ios)
 	if (mmc->cfg->ops->set_ios)
-		mmc->cfg->ops->set_ios(mmc);
+		ret = mmc->cfg->ops->set_ios(mmc);
+
+	return ret;
 }
 }
 #endif
 #endif
 
 
-void mmc_set_clock(struct mmc *mmc, uint clock)
+int mmc_set_clock(struct mmc *mmc, uint clock)
 {
 {
 	if (clock > mmc->cfg->f_max)
 	if (clock > mmc->cfg->f_max)
 		clock = mmc->cfg->f_max;
 		clock = mmc->cfg->f_max;
@@ -1213,14 +1217,14 @@ void mmc_set_clock(struct mmc *mmc, uint clock)
 
 
 	mmc->clock = clock;
 	mmc->clock = clock;
 
 
-	mmc_set_ios(mmc);
+	return mmc_set_ios(mmc);
 }
 }
 
 
-static void mmc_set_bus_width(struct mmc *mmc, uint width)
+static int mmc_set_bus_width(struct mmc *mmc, uint width)
 {
 {
 	mmc->bus_width = width;
 	mmc->bus_width = width;
 
 
-	mmc_set_ios(mmc);
+	return mmc_set_ios(mmc);
 }
 }
 
 
 #if CONFIG_IS_ENABLED(MMC_VERBOSE) || defined(DEBUG)
 #if CONFIG_IS_ENABLED(MMC_VERBOSE) || defined(DEBUG)

+ 1 - 1
include/mmc.h

@@ -549,7 +549,7 @@ int mmc_unbind(struct udevice *dev);
 int mmc_initialize(bd_t *bis);
 int mmc_initialize(bd_t *bis);
 int mmc_init(struct mmc *mmc);
 int mmc_init(struct mmc *mmc);
 int mmc_read(struct mmc *mmc, u64 src, uchar *dst, int size);
 int mmc_read(struct mmc *mmc, u64 src, uchar *dst, int size);
-void mmc_set_clock(struct mmc *mmc, uint clock);
+int mmc_set_clock(struct mmc *mmc, uint clock);
 struct mmc *find_mmc_device(int dev_num);
 struct mmc *find_mmc_device(int dev_num);
 int mmc_set_dev(int dev_num);
 int mmc_set_dev(int dev_num);
 void print_mmc_devices(char separator);
 void print_mmc_devices(char separator);