Loading drivers/mmc/host/sdhci.c +13 −0 Original line number Diff line number Diff line Loading @@ -2048,6 +2048,18 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode) 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) { Loading Loading @@ -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, }; Loading drivers/mmc/host/sdhci.h +4 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
drivers/mmc/host/sdhci.c +13 −0 Original line number Diff line number Diff line Loading @@ -2048,6 +2048,18 @@ static int sdhci_execute_tuning(struct mmc_host *mmc, u32 opcode) 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) { Loading Loading @@ -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, }; Loading
drivers/mmc/host/sdhci.h +4 −0 Original line number Diff line number Diff line Loading @@ -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