mmc: sdhci: Add a callback to select drive strength
Add a callbak to let host drivers select drive strength. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
cc4f414c88
commit
cb8496482e
|
@ -2048,6 +2048,18 @@ out_unlock:
|
|||
return err;
|
||||
}
|
||||
|
||||
static int sdhci_select_drive_strength(struct mmc_card *card,
|
||||
unsigned int max_dtr, int host_drv,
|
||||
int card_drv, int *drv_type)
|
||||
{
|
||||
struct sdhci_host *host = mmc_priv(card->host);
|
||||
|
||||
if (!host->ops->select_drive_strength)
|
||||
return 0;
|
||||
|
||||
return host->ops->select_drive_strength(host, card, max_dtr, host_drv,
|
||||
card_drv, drv_type);
|
||||
}
|
||||
|
||||
static void sdhci_enable_preset_value(struct sdhci_host *host, bool enable)
|
||||
{
|
||||
|
@ -2192,6 +2204,7 @@ static const struct mmc_host_ops sdhci_ops = {
|
|||
.start_signal_voltage_switch = sdhci_start_signal_voltage_switch,
|
||||
.prepare_hs400_tuning = sdhci_prepare_hs400_tuning,
|
||||
.execute_tuning = sdhci_execute_tuning,
|
||||
.select_drive_strength = sdhci_select_drive_strength,
|
||||
.card_event = sdhci_card_event,
|
||||
.card_busy = sdhci_card_busy,
|
||||
};
|
||||
|
|
|
@ -538,6 +538,10 @@ struct sdhci_ops {
|
|||
void (*platform_init)(struct sdhci_host *host);
|
||||
void (*card_event)(struct sdhci_host *host);
|
||||
void (*voltage_switch)(struct sdhci_host *host);
|
||||
int (*select_drive_strength)(struct sdhci_host *host,
|
||||
struct mmc_card *card,
|
||||
unsigned int max_dtr, int host_drv,
|
||||
int card_drv, int *drv_type);
|
||||
};
|
||||
|
||||
#ifdef CONFIG_MMC_SDHCI_IO_ACCESSORS
|
||||
|
|
Loading…
Reference in New Issue