summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Hunter <adrian.hunter@intel.com>2015-02-06 13:12:54 +0100
committerUlf Hansson <ulf.hansson@linaro.org>2015-06-01 09:07:12 +0200
commitf168359efbb99d6f8591bb666d6510bb78df2d07 (patch)
tree95ca3f2c62eccc4e6115103db86150c6f024ff7d
parentmmc: core: Simplify card drive strength mask (diff)
downloadlinux-f168359efbb99d6f8591bb666d6510bb78df2d07.tar.xz
linux-f168359efbb99d6f8591bb666d6510bb78df2d07.zip
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 <adrian.hunter@intel.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
-rw-r--r--drivers/mmc/core/sd.c2
-rw-r--r--drivers/mmc/core/sdio.c2
-rw-r--r--include/linux/mmc/host.h3
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);