diff --git a/drivers/mmc/host/msm_sdcc.c b/drivers/mmc/host/msm_sdcc.c index 5c6eb222919..e9ccbc7c775 100644 --- a/drivers/mmc/host/msm_sdcc.c +++ b/drivers/mmc/host/msm_sdcc.c @@ -4940,9 +4940,10 @@ msmsdcc_probe(struct platform_device *pdev) mmc->f_min = msmsdcc_get_min_sup_clk_rate(host); mmc->f_max = msmsdcc_get_max_sup_clk_rate(host); mmc->ocr_avail = plat->ocr_mask; + mmc->clkgate_delay = MSM_MMC_CLK_GATE_DELAY; + mmc->pm_caps |= MMC_PM_KEEP_POWER | MMC_PM_WAKE_SDIO_IRQ; mmc->caps |= plat->mmc_bus_width; - mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED; mmc->caps |= MMC_CAP_WAIT_WHILE_BUSY | MMC_CAP_ERASE; diff --git a/drivers/mmc/host/msm_sdcc.h b/drivers/mmc/host/msm_sdcc.h index 2222337f004..5531f06dca7 100644 --- a/drivers/mmc/host/msm_sdcc.h +++ b/drivers/mmc/host/msm_sdcc.h @@ -212,10 +212,10 @@ #define NR_SG 128 #define MSM_MMC_IDLE_TIMEOUT 5000 /* msecs */ +#define MSM_MMC_CLK_GATE_DELAY 200 /* msecs */ /* Set the request timeout to 10secs */ #define MSM_MMC_REQ_TIMEOUT 10000 /* msecs */ -#define MSM_MMC_DISABLE_TIMEOUT 200 /* msecs */ /* * Controller HW limitations diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index ef9e1790520..b74538eea6c 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -251,7 +251,6 @@ struct mmc_host { mmc_pm_flag_t pm_caps; /* supported pm features */ -#ifdef CONFIG_MMC_CLKGATE int clk_requests; /* internal reference counter */ unsigned int clk_delay; /* number of MCI clk hold cycles */ bool clk_gated; /* clock gated */ @@ -261,7 +260,6 @@ struct mmc_host { struct mutex clk_gate_mutex; /* mutex for clock gating */ struct device_attribute clkgate_delay_attr; unsigned long clkgate_delay; -#endif /* host specific block data */ unsigned int max_seg_size; /* see blk_queue_max_segment_size */