@@ -174,6 +174,9 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask)
if (host->quirks & SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET)
sdhci_clear_set_irqs(host, SDHCI_INT_ALL_MASK, ier);
+
+ if (host->ops->platform_specific_reset)
+ host->ops->platform_specific_reset(host, mask);
}
static void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios);
@@ -323,6 +323,7 @@ struct sdhci_ops {
unsigned int (*get_max_clock)(struct sdhci_host *host);
unsigned int (*get_min_clock)(struct sdhci_host *host);
unsigned int (*get_timeout_clock)(struct sdhci_host *host);
+ void (*platform_specific_reset)(struct sdhci_host *host, u8 mask);
};
#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS