}
 EXPORT_SYMBOL_GPL(mmc_switch);
 
-int mmc_send_tuning(struct mmc_card *card)
+int mmc_send_tuning(struct mmc_host *host)
 {
        struct mmc_request mrq = {NULL};
        struct mmc_command cmd = {0};
        struct mmc_data data = {0};
        struct scatterlist sg;
-       struct mmc_host *mmc = card->host;
-       struct mmc_ios *ios = &mmc->ios;
+       struct mmc_ios *ios = &host->ios;
        const u8 *tuning_block_pattern;
        int size, err = 0;
        u8 *data_buf;
        data.sg_len = 1;
        sg_init_one(&sg, data_buf, size);
 
-       mmc_wait_for_req(mmc, &mrq);
+       mmc_wait_for_req(host, &mrq);
 
        if (cmd.error) {
                err = cmd.error;
 
 extern int __mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int, bool,
                        bool, bool);
 extern int mmc_switch(struct mmc_card *, u8, u8, u8, unsigned int);
-extern int mmc_send_tuning(struct mmc_card *card);
+extern int mmc_send_tuning(struct mmc_host *host);
 extern int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd);
 
 #define MMC_ERASE_ARG          0x00000000