aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmc/host.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mmc/host.h')
-rw-r--r--include/linux/mmc/host.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 6d87f68ce4b6..bcb793ec7374 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -131,6 +131,9 @@ struct mmc_host {
131 unsigned int f_max; 131 unsigned int f_max;
132 unsigned int f_init; 132 unsigned int f_init;
133 u32 ocr_avail; 133 u32 ocr_avail;
134 u32 ocr_avail_sdio; /* SDIO-specific OCR */
135 u32 ocr_avail_sd; /* SD-specific OCR */
136 u32 ocr_avail_mmc; /* MMC-specific OCR */
134 struct notifier_block pm_notify; 137 struct notifier_block pm_notify;
135 138
136#define MMC_VDD_165_195 0x00000080 /* VDD voltage 1.65 - 1.95 */ 139#define MMC_VDD_165_195 0x00000080 /* VDD voltage 1.65 - 1.95 */
@@ -168,9 +171,21 @@ struct mmc_host {
168 /* DDR mode at 1.8V */ 171 /* DDR mode at 1.8V */
169#define MMC_CAP_1_2V_DDR (1 << 12) /* can support */ 172#define MMC_CAP_1_2V_DDR (1 << 12) /* can support */
170 /* DDR mode at 1.2V */ 173 /* DDR mode at 1.2V */
174#define MMC_CAP_POWER_OFF_CARD (1 << 13) /* Can power off after boot */
175#define MMC_CAP_BUS_WIDTH_TEST (1 << 14) /* CMD14/CMD19 bus width ok */
171 176
172 mmc_pm_flag_t pm_caps; /* supported pm features */ 177 mmc_pm_flag_t pm_caps; /* supported pm features */
173 178
179#ifdef CONFIG_MMC_CLKGATE
180 int clk_requests; /* internal reference counter */
181 unsigned int clk_delay; /* number of MCI clk hold cycles */
182 bool clk_gated; /* clock gated */
183 struct work_struct clk_gate_work; /* delayed clock gate */
184 unsigned int clk_old; /* old clock value cache */
185 spinlock_t clk_lock; /* lock for clk fields */
186 struct mutex clk_gate_mutex; /* mutex for clock gating */
187#endif
188
174 /* host specific block data */ 189 /* host specific block data */
175 unsigned int max_seg_size; /* see blk_queue_max_segment_size */ 190 unsigned int max_seg_size; /* see blk_queue_max_segment_size */
176 unsigned short max_segs; /* see blk_queue_max_segments */ 191 unsigned short max_segs; /* see blk_queue_max_segments */
@@ -306,5 +321,10 @@ static inline int mmc_card_is_removable(struct mmc_host *host)
306 return !(host->caps & MMC_CAP_NONREMOVABLE) && mmc_assume_removable; 321 return !(host->caps & MMC_CAP_NONREMOVABLE) && mmc_assume_removable;
307} 322}
308 323
324static inline int mmc_card_is_powered_resumed(struct mmc_host *host)
325{
326 return host->pm_flags & MMC_PM_KEEP_POWER;
327}
328
309#endif 329#endif
310 330