]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
mmc: sdhci: Change prototype of set_delay to return errors
authorAshok Reddy Soma <ashok.reddy.soma@xilinx.com>
Tue, 3 Aug 2021 05:20:41 +0000 (23:20 -0600)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 6 Aug 2021 07:35:34 +0000 (09:35 +0200)
set_delay() has return type as void. If there are any errors while
setting tapdelay's it won't be able to return them.

Change the prototype of set_delay() in sdhci_ops structure and return
the errors from wherever it is called.

Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com>
Reviewed-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/mmc/sdhci.c
include/sdhci.h

index eea4701d8af58518eda1fc4354ce84a6261de6c6..2f78da61beb16510d118f4c3df7a673a0cb6f66c 100644 (file)
@@ -366,6 +366,7 @@ int sdhci_set_clock(struct mmc *mmc, unsigned int clock)
 {
        struct sdhci_host *host = mmc->priv;
        unsigned int div, clk = 0, timeout;
+       int ret;
 
        /* Wait max 20 ms */
        timeout = 200;
@@ -386,8 +387,13 @@ int sdhci_set_clock(struct mmc *mmc, unsigned int clock)
        if (clock == 0)
                return 0;
 
-       if (host->ops && host->ops->set_delay)
-               host->ops->set_delay(host);
+       if (host->ops && host->ops->set_delay) {
+               ret = host->ops->set_delay(host);
+               if (ret) {
+                       printf("%s: Error while setting tap delay\n", __func__);
+                       return ret;
+               }
+       }
 
        if (SDHCI_GET_VERSION(host) >= SDHCI_SPEC_300) {
                /*
index 0ae9471ad749ba714a01d8e984d6f670a30f1d1f..44a0d84e5ab37b7678209d3a45a466042eda964f 100644 (file)
@@ -268,7 +268,7 @@ struct sdhci_ops {
        int     (*set_ios_post)(struct sdhci_host *host);
        void    (*set_clock)(struct sdhci_host *host, u32 div);
        int (*platform_execute_tuning)(struct mmc *host, u8 opcode);
-       void (*set_delay)(struct sdhci_host *host);
+       int (*set_delay)(struct sdhci_host *host);
        int     (*deferred_probe)(struct sdhci_host *host);
 };