@@ -411,7 +411,7 @@ static int sd_select_driver_type(struct mmc_card *card, u8 *status)
* return what is possible given the options
*/
mmc_host_clk_hold(card->host);
- drive_strength = card->host->ops->select_drive_strength(
+ drive_strength = card->host->ops->select_drive_strength(card,
card->sw_caps.uhs_max_dtr,
host_drv_type, card_drv_type, &drv_type);
mmc_host_clk_release(card->host);
@@ -424,7 +424,7 @@ static void sdio_select_driver_type(struct mmc_card *card)
* information and let the hardware specific code
* return what is possible given the options
*/
- drive_strength = card->host->ops->select_drive_strength(
+ drive_strength = card->host->ops->select_drive_strength(card,
card->sw_caps.uhs_max_dtr,
host_drv_type, card_drv_type, &drv_type);
@@ -138,7 +138,8 @@ struct mmc_host_ops {
/* Prepare HS400 target operating frequency depending host driver */
int (*prepare_hs400_tuning)(struct mmc_host *host, struct mmc_ios *ios);
- int (*select_drive_strength)(unsigned int max_dtr, int host_drv,
+ int (*select_drive_strength)(struct mmc_card *card,
+ unsigned int max_dtr, int host_drv,
int card_drv, int *drv_type);
void (*hw_reset)(struct mmc_host *host);
void (*card_event)(struct mmc_host *host);
In preparation for supporting also eMMC drive strength, add the 'card' as a parameter so that the callback can distinguish different types of cards if necessary. Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> --- drivers/mmc/core/sd.c | 2 +- drivers/mmc/core/sdio.c | 2 +- include/linux/mmc/host.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-)