mmc: sdhci: Change prototype of set_delay to return errors

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>
This commit is contained in:
Ashok Reddy Soma 2021-08-02 23:20:41 -06:00 committed by Michal Simek
parent 5ab5d9a442
commit 16b593bec7
2 changed files with 9 additions and 3 deletions

View 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) {
/*

View 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);
};