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.h39
1 files changed, 7 insertions, 32 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 83b81fd865f3..8673ffe3d86e 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -292,18 +292,6 @@ struct mmc_host {
292 292
293 mmc_pm_flag_t pm_caps; /* supported pm features */ 293 mmc_pm_flag_t pm_caps; /* supported pm features */
294 294
295#ifdef CONFIG_MMC_CLKGATE
296 int clk_requests; /* internal reference counter */
297 unsigned int clk_delay; /* number of MCI clk hold cycles */
298 bool clk_gated; /* clock gated */
299 struct delayed_work clk_gate_work; /* delayed clock gate */
300 unsigned int clk_old; /* old clock value cache */
301 spinlock_t clk_lock; /* lock for clk fields */
302 struct mutex clk_gate_mutex; /* mutex for clock gating */
303 struct device_attribute clkgate_delay_attr;
304 unsigned long clkgate_delay;
305#endif
306
307 /* host specific block data */ 295 /* host specific block data */
308 unsigned int max_seg_size; /* see blk_queue_max_segment_size */ 296 unsigned int max_seg_size; /* see blk_queue_max_segment_size */
309 unsigned short max_segs; /* see blk_queue_max_segments */ 297 unsigned short max_segs; /* see blk_queue_max_segments */
@@ -423,6 +411,7 @@ int mmc_regulator_get_ocrmask(struct regulator *supply);
423int mmc_regulator_set_ocr(struct mmc_host *mmc, 411int mmc_regulator_set_ocr(struct mmc_host *mmc,
424 struct regulator *supply, 412 struct regulator *supply,
425 unsigned short vdd_bit); 413 unsigned short vdd_bit);
414int mmc_regulator_set_vqmmc(struct mmc_host *mmc, struct mmc_ios *ios);
426#else 415#else
427static inline int mmc_regulator_get_ocrmask(struct regulator *supply) 416static inline int mmc_regulator_get_ocrmask(struct regulator *supply)
428{ 417{
@@ -435,6 +424,12 @@ static inline int mmc_regulator_set_ocr(struct mmc_host *mmc,
435{ 424{
436 return 0; 425 return 0;
437} 426}
427
428static inline int mmc_regulator_set_vqmmc(struct mmc_host *mmc,
429 struct mmc_ios *ios)
430{
431 return -EINVAL;
432}
438#endif 433#endif
439 434
440int mmc_regulator_get_supply(struct mmc_host *mmc); 435int mmc_regulator_get_supply(struct mmc_host *mmc);
@@ -479,26 +474,6 @@ static inline int mmc_host_packed_wr(struct mmc_host *host)
479 return host->caps2 & MMC_CAP2_PACKED_WR; 474 return host->caps2 & MMC_CAP2_PACKED_WR;
480} 475}
481 476
482#ifdef CONFIG_MMC_CLKGATE
483void mmc_host_clk_hold(struct mmc_host *host);
484void mmc_host_clk_release(struct mmc_host *host);
485unsigned int mmc_host_clk_rate(struct mmc_host *host);
486
487#else
488static inline void mmc_host_clk_hold(struct mmc_host *host)
489{
490}
491
492static inline void mmc_host_clk_release(struct mmc_host *host)
493{
494}
495
496static inline unsigned int mmc_host_clk_rate(struct mmc_host *host)
497{
498 return host->ios.clock;
499}
500#endif
501
502static inline int mmc_card_hs(struct mmc_card *card) 477static inline int mmc_card_hs(struct mmc_card *card)
503{ 478{
504 return card->host->ios.timing == MMC_TIMING_SD_HS || 479 return card->host->ios.timing == MMC_TIMING_SD_HS ||