aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/mmc/host/sdhci.c6
-rw-r--r--drivers/mmc/host/sdhci.h2
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 4b97d5265526..a70a3d1ef35a 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -156,6 +156,9 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask)
156 if (host->quirks & SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET) 156 if (host->quirks & SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET)
157 ier = sdhci_readl(host, SDHCI_INT_ENABLE); 157 ier = sdhci_readl(host, SDHCI_INT_ENABLE);
158 158
159 if (host->ops->platform_reset_enter)
160 host->ops->platform_reset_enter(host, mask);
161
159 sdhci_writeb(host, mask, SDHCI_SOFTWARE_RESET); 162 sdhci_writeb(host, mask, SDHCI_SOFTWARE_RESET);
160 163
161 if (mask & SDHCI_RESET_ALL) 164 if (mask & SDHCI_RESET_ALL)
@@ -176,6 +179,9 @@ static void sdhci_reset(struct sdhci_host *host, u8 mask)
176 mdelay(1); 179 mdelay(1);
177 } 180 }
178 181
182 if (host->ops->platform_reset_exit)
183 host->ops->platform_reset_exit(host, mask);
184
179 if (host->quirks & SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET) 185 if (host->quirks & SDHCI_QUIRK_RESTORE_IRQS_AFTER_RESET)
180 sdhci_clear_set_irqs(host, SDHCI_INT_ALL_MASK, ier); 186 sdhci_clear_set_irqs(host, SDHCI_INT_ALL_MASK, ier);
181} 187}
diff --git a/drivers/mmc/host/sdhci.h b/drivers/mmc/host/sdhci.h
index 85750a94c612..c6e25a76d269 100644
--- a/drivers/mmc/host/sdhci.h
+++ b/drivers/mmc/host/sdhci.h
@@ -229,6 +229,8 @@ struct sdhci_ops {
229 void (*platform_send_init_74_clocks)(struct sdhci_host *host, 229 void (*platform_send_init_74_clocks)(struct sdhci_host *host,
230 u8 power_mode); 230 u8 power_mode);
231 unsigned int (*get_ro)(struct sdhci_host *host); 231 unsigned int (*get_ro)(struct sdhci_host *host);
232 void (*platform_reset_enter)(struct sdhci_host *host, u8 mask);
233 void (*platform_reset_exit)(struct sdhci_host *host, u8 mask);
232}; 234};
233 235
234#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS 236#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS