From f168359efbb99d6f8591bb666d6510bb78df2d07 Mon Sep 17 00:00:00 2001 From: Adrian Hunter Date: Fri, 6 Feb 2015 14:12:54 +0200 Subject: [PATCH] mmc: core: Add 'card' to drive strength selection callback 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 Signed-off-by: Ulf Hansson --- 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(-) diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c index 9b72ea6b3177..63f9163b8dda 100644 --- a/drivers/mmc/core/sd.c +++ b/drivers/mmc/core/sd.c @@ -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); diff --git a/drivers/mmc/core/sdio.c b/drivers/mmc/core/sdio.c index ef82f3d029e8..d3d13047f316 100644 --- a/drivers/mmc/core/sdio.c +++ b/drivers/mmc/core/sdio.c @@ -427,7 +427,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); diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index da33d18c66c8..1369e54faeb7 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -132,7 +132,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);