|
@@ -2103,7 +2103,7 @@ static int sdhci_prepare_hs400_tuning(struct mmc_host *mmc, struct mmc_ios *ios)
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static void sdhci_start_tuning(struct sdhci_host *host)
|
|
|
|
|
|
+void sdhci_start_tuning(struct sdhci_host *host)
|
|
{
|
|
{
|
|
u16 ctrl;
|
|
u16 ctrl;
|
|
|
|
|
|
@@ -2126,14 +2126,16 @@ static void sdhci_start_tuning(struct sdhci_host *host)
|
|
sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_INT_ENABLE);
|
|
sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_INT_ENABLE);
|
|
sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_SIGNAL_ENABLE);
|
|
sdhci_writel(host, SDHCI_INT_DATA_AVAIL, SDHCI_SIGNAL_ENABLE);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL_GPL(sdhci_start_tuning);
|
|
|
|
|
|
-static void sdhci_end_tuning(struct sdhci_host *host)
|
|
|
|
|
|
+void sdhci_end_tuning(struct sdhci_host *host)
|
|
{
|
|
{
|
|
sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
|
|
sdhci_writel(host, host->ier, SDHCI_INT_ENABLE);
|
|
sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
|
|
sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL_GPL(sdhci_end_tuning);
|
|
|
|
|
|
-static void sdhci_reset_tuning(struct sdhci_host *host)
|
|
|
|
|
|
+void sdhci_reset_tuning(struct sdhci_host *host)
|
|
{
|
|
{
|
|
u16 ctrl;
|
|
u16 ctrl;
|
|
|
|
|
|
@@ -2142,6 +2144,7 @@ static void sdhci_reset_tuning(struct sdhci_host *host)
|
|
ctrl &= ~SDHCI_CTRL_EXEC_TUNING;
|
|
ctrl &= ~SDHCI_CTRL_EXEC_TUNING;
|
|
sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
|
|
sdhci_writew(host, ctrl, SDHCI_HOST_CONTROL2);
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL_GPL(sdhci_reset_tuning);
|
|
|
|
|
|
static void sdhci_abort_tuning(struct sdhci_host *host, u32 opcode)
|
|
static void sdhci_abort_tuning(struct sdhci_host *host, u32 opcode)
|
|
{
|
|
{
|
|
@@ -2162,7 +2165,7 @@ static void sdhci_abort_tuning(struct sdhci_host *host, u32 opcode)
|
|
* interrupt setup is different to other commands and there is no timeout
|
|
* interrupt setup is different to other commands and there is no timeout
|
|
* interrupt so special handling is needed.
|
|
* interrupt so special handling is needed.
|
|
*/
|
|
*/
|
|
-static void sdhci_send_tuning(struct sdhci_host *host, u32 opcode)
|
|
|
|
|
|
+void sdhci_send_tuning(struct sdhci_host *host, u32 opcode)
|
|
{
|
|
{
|
|
struct mmc_host *mmc = host->mmc;
|
|
struct mmc_host *mmc = host->mmc;
|
|
struct mmc_command cmd = {};
|
|
struct mmc_command cmd = {};
|
|
@@ -2212,6 +2215,7 @@ static void sdhci_send_tuning(struct sdhci_host *host, u32 opcode)
|
|
msecs_to_jiffies(50));
|
|
msecs_to_jiffies(50));
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+EXPORT_SYMBOL_GPL(sdhci_send_tuning);
|
|
|
|
|
|
static void __sdhci_execute_tuning(struct sdhci_host *host, u32 opcode)
|
|
static void __sdhci_execute_tuning(struct sdhci_host *host, u32 opcode)
|
|
{
|
|
{
|