mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 15:14:43 +00:00
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:
parent
32860bdbc1
commit
cb884347f4
2 changed files with 16 additions and 0 deletions
|
@ -658,6 +658,20 @@ int sdhci_probe(struct udevice *dev)
|
|||
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)
|
||||
{
|
||||
struct mmc *mmc = mmc_get_mmc_dev(dev);
|
||||
|
@ -692,6 +706,7 @@ const struct dm_mmc_ops sdhci_ops = {
|
|||
.send_cmd = sdhci_send_command,
|
||||
.set_ios = sdhci_set_ios,
|
||||
.get_cd = sdhci_get_cd,
|
||||
.deferred_probe = sdhci_deferred_probe,
|
||||
#ifdef MMC_SUPPORTS_TUNING
|
||||
.execute_tuning = sdhci_execute_tuning,
|
||||
#endif
|
||||
|
|
|
@ -268,6 +268,7 @@ struct sdhci_ops {
|
|||
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 (*deferred_probe)(struct sdhci_host *host);
|
||||
};
|
||||
|
||||
#if CONFIG_IS_ENABLED(MMC_SDHCI_ADMA)
|
||||
|
|
Loading…
Reference in a new issue