OSDN Git Service

mmc: core: Add 'card' to drive strength selection callback
authorAdrian Hunter <adrian.hunter@intel.com>
Fri, 6 Feb 2015 12:12:54 +0000 (14:12 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 1 Jun 2015 07:07:12 +0000 (09:07 +0200)
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>
drivers/mmc/core/sd.c
drivers/mmc/core/sdio.c
include/linux/mmc/host.h

index 9b72ea6..63f9163 100644 (file)
@@ -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);
index ef82f3d..d3d1304 100644 (file)
@@ -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);
 
index da33d18..1369e54 100644 (file)
@@ -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);