msm: Implement init_card operation for MSM SDCC
[pandora-kernel.git] / drivers / mmc / host / msm_sdcc.c
index a4c865a..cfe0c89 100644 (file)
@@ -939,7 +939,7 @@ static void msmsdcc_setup_gpio(struct msmsdcc_host *host, bool enable)
        struct msm_mmc_gpio_data *curr;
        int i, rc = 0;
 
-       if (!host->plat->gpio_data && host->gpio_config_status == enable)
+       if (!host->plat->gpio_data || host->gpio_config_status == enable)
                return;
 
        curr = host->plat->gpio_data;
@@ -1052,10 +1052,19 @@ static void msmsdcc_enable_sdio_irq(struct mmc_host *mmc, int enable)
        spin_unlock_irqrestore(&host->lock, flags);
 }
 
+static void msmsdcc_init_card(struct mmc_host *mmc, struct mmc_card *card)
+{
+       struct msmsdcc_host *host = mmc_priv(mmc);
+
+       if (host->plat->init_card)
+               host->plat->init_card(card);
+}
+
 static const struct mmc_host_ops msmsdcc_ops = {
        .request        = msmsdcc_request,
        .set_ios        = msmsdcc_set_ios,
        .enable_sdio_irq = msmsdcc_enable_sdio_irq,
+       .init_card      = msmsdcc_init_card,
 };
 
 static void