sdhci: Add sdhci_deferred_probe() API
Add the sdhci_deferred_probe() function to register as the deferred_probe() callback to the mmc core. It will in turn call the deferred_probe() callback of the platform drivers as declared in the sdhci_ops. Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
This commit is contained in:
@@ -658,6 +658,20 @@ int sdhci_probe(struct udevice *dev)
|
|||||||
return sdhci_init(mmc);
|
return sdhci_init(mmc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int sdhci_deferred_probe(struct udevice *dev)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
struct mmc *mmc = mmc_get_mmc_dev(dev);
|
||||||
|
struct sdhci_host *host = mmc->priv;
|
||||||
|
|
||||||
|
if (host->ops && host->ops->deferred_probe) {
|
||||||
|
err = host->ops->deferred_probe(host);
|
||||||
|
if (err)
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int sdhci_get_cd(struct udevice *dev)
|
static int sdhci_get_cd(struct udevice *dev)
|
||||||
{
|
{
|
||||||
struct mmc *mmc = mmc_get_mmc_dev(dev);
|
struct mmc *mmc = mmc_get_mmc_dev(dev);
|
||||||
@@ -692,6 +706,7 @@ const struct dm_mmc_ops sdhci_ops = {
|
|||||||
.send_cmd = sdhci_send_command,
|
.send_cmd = sdhci_send_command,
|
||||||
.set_ios = sdhci_set_ios,
|
.set_ios = sdhci_set_ios,
|
||||||
.get_cd = sdhci_get_cd,
|
.get_cd = sdhci_get_cd,
|
||||||
|
.deferred_probe = sdhci_deferred_probe,
|
||||||
#ifdef MMC_SUPPORTS_TUNING
|
#ifdef MMC_SUPPORTS_TUNING
|
||||||
.execute_tuning = sdhci_execute_tuning,
|
.execute_tuning = sdhci_execute_tuning,
|
||||||
#endif
|
#endif
|
||||||
|
@@ -268,6 +268,7 @@ struct sdhci_ops {
|
|||||||
void (*set_clock)(struct sdhci_host *host, u32 div);
|
void (*set_clock)(struct sdhci_host *host, u32 div);
|
||||||
int (*platform_execute_tuning)(struct mmc *host, u8 opcode);
|
int (*platform_execute_tuning)(struct mmc *host, u8 opcode);
|
||||||
void (*set_delay)(struct sdhci_host *host);
|
void (*set_delay)(struct sdhci_host *host);
|
||||||
|
int (*deferred_probe)(struct sdhci_host *host);
|
||||||
};
|
};
|
||||||
|
|
||||||
#if CONFIG_IS_ENABLED(MMC_SDHCI_ADMA)
|
#if CONFIG_IS_ENABLED(MMC_SDHCI_ADMA)
|
||||||
|
Reference in New Issue
Block a user