Skip to content

Commit

Permalink
mmc: sdhci: export sdhci_execute_tuning()
Browse files Browse the repository at this point in the history
Some SDHCI-compat controllers support not only SD, but also eMMC,
but they use different commands for tuning: CMD19 for SD, CMD21 for
eMMC.

Due to the difference of the underlying mechanism, some controllers
(at least, the Cadence IP is the case) provide their own registers
for the eMMC tuning.

This commit will be useful when we want to override .execute_tuning
callback (for eMMC HS200 tuning), but still let it fall back to
sdhci_execute_tuning() for SD timing.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
  • Loading branch information
Masahiro Yamada authored and Ulf Hansson committed Dec 8, 2016
1 parent 6b11e70 commit 85a882c
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/mmc/host/sdhci.c
Original file line number Diff line number Diff line change
Expand Up @@ -2100,7 +2100,7 @@ static void __sdhci_execute_tuning(struct sdhci_host *host, u32 opcode,
sdhci_reset_tuning(host);
}

static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)
{
struct sdhci_host *host = mmc_priv(mmc);
int err = 0;
Expand Down Expand Up @@ -2168,6 +2168,7 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode)

return err;
}
EXPORT_SYMBOL_GPL(sdhci_execute_tuning);

static int sdhci_select_drive_strength(struct mmc_card *card,
unsigned int max_dtr, int host_drv,
Expand Down
1 change: 1 addition & 0 deletions drivers/mmc/host/sdhci.h
Original file line number Diff line number Diff line change
Expand Up @@ -690,6 +690,7 @@ void sdhci_set_power_noreg(struct sdhci_host *host, unsigned char mode,
void sdhci_set_bus_width(struct sdhci_host *host, int width);
void sdhci_reset(struct sdhci_host *host, u8 mask);
void sdhci_set_uhs_signaling(struct sdhci_host *host, unsigned timing);
int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode);

#ifdef CONFIG_PM
extern int sdhci_suspend_host(struct sdhci_host *host);
Expand Down

0 comments on commit 85a882c

Please sign in to comment.