mmc: make mmc_set_ios() return status
authorJean-Jacques Hiblot <jjhiblot@ti.com>
Fri, 12 May 2017 18:16:29 +0000 (20:16 +0200)
committerJason Liu <jason.hui.liu@nxp.com>
Thu, 2 Nov 2017 18:37:10 +0000 (02:37 +0800)
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: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/mmc/mmc.c
include/mmc.h

index 2931871..2ae6f1c 100644 (file)
@@ -1193,14 +1193,18 @@ static inline int bus_width(uint cap)
 }
 
 #ifndef CONFIG_DM_MMC_OPS
-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)
-               mmc->cfg->ops->set_ios(mmc);
+               ret = mmc->cfg->ops->set_ios(mmc);
+
+       return ret;
 }
 #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)
                clock = mmc->cfg->f_max;
@@ -1210,14 +1214,14 @@ void mmc_set_clock(struct mmc *mmc, uint 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_set_ios(mmc);
+       return mmc_set_ios(mmc);
 }
 
 void mmc_dump_capabilities(const char *text, uint caps)
index 1119465..05c650a 100644 (file)
@@ -540,7 +540,7 @@ int mmc_unbind(struct udevice *dev);
 int mmc_initialize(bd_t *bis);
 int mmc_init(struct mmc *mmc);
 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);
 int mmc_set_dev(int dev_num);
 void print_mmc_devices(char separator);