diff options
Diffstat (limited to 'include/linux/mmc/host.h')
| -rw-r--r-- | include/linux/mmc/host.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 9a43763a68ad..e7743eca1021 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
| @@ -255,6 +255,10 @@ struct mmc_supply { | |||
| 255 | struct regulator *vqmmc; /* Optional Vccq supply */ | 255 | struct regulator *vqmmc; /* Optional Vccq supply */ |
| 256 | }; | 256 | }; |
| 257 | 257 | ||
| 258 | struct mmc_ctx { | ||
| 259 | struct task_struct *task; | ||
| 260 | }; | ||
| 261 | |||
| 258 | struct mmc_host { | 262 | struct mmc_host { |
| 259 | struct device *parent; | 263 | struct device *parent; |
| 260 | struct device class_dev; | 264 | struct device class_dev; |
| @@ -350,6 +354,8 @@ struct mmc_host { | |||
| 350 | #define MMC_CAP2_CQE (1 << 23) /* Has eMMC command queue engine */ | 354 | #define MMC_CAP2_CQE (1 << 23) /* Has eMMC command queue engine */ |
| 351 | #define MMC_CAP2_CQE_DCMD (1 << 24) /* CQE can issue a direct command */ | 355 | #define MMC_CAP2_CQE_DCMD (1 << 24) /* CQE can issue a direct command */ |
| 352 | 356 | ||
| 357 | int fixed_drv_type; /* fixed driver type for non-removable media */ | ||
| 358 | |||
| 353 | mmc_pm_flag_t pm_caps; /* supported pm features */ | 359 | mmc_pm_flag_t pm_caps; /* supported pm features */ |
| 354 | 360 | ||
| 355 | /* host specific block data */ | 361 | /* host specific block data */ |
| @@ -388,8 +394,9 @@ struct mmc_host { | |||
| 388 | struct mmc_card *card; /* device attached to this host */ | 394 | struct mmc_card *card; /* device attached to this host */ |
| 389 | 395 | ||
| 390 | wait_queue_head_t wq; | 396 | wait_queue_head_t wq; |
| 391 | struct task_struct *claimer; /* task that has host claimed */ | 397 | struct mmc_ctx *claimer; /* context that has host claimed */ |
| 392 | int claim_cnt; /* "claim" nesting count */ | 398 | int claim_cnt; /* "claim" nesting count */ |
| 399 | struct mmc_ctx default_ctx; /* default context */ | ||
| 393 | 400 | ||
| 394 | struct delayed_work detect; | 401 | struct delayed_work detect; |
| 395 | int detect_change; /* card detect flag */ | 402 | int detect_change; /* card detect flag */ |
| @@ -469,6 +476,8 @@ void mmc_detect_change(struct mmc_host *, unsigned long delay); | |||
| 469 | void mmc_request_done(struct mmc_host *, struct mmc_request *); | 476 | void mmc_request_done(struct mmc_host *, struct mmc_request *); |
| 470 | void mmc_command_done(struct mmc_host *host, struct mmc_request *mrq); | 477 | void mmc_command_done(struct mmc_host *host, struct mmc_request *mrq); |
| 471 | 478 | ||
| 479 | void mmc_cqe_request_done(struct mmc_host *host, struct mmc_request *mrq); | ||
| 480 | |||
| 472 | static inline void mmc_signal_sdio_irq(struct mmc_host *host) | 481 | static inline void mmc_signal_sdio_irq(struct mmc_host *host) |
| 473 | { | 482 | { |
| 474 | host->ops->enable_sdio_irq(host, 0); | 483 | host->ops->enable_sdio_irq(host, 0); |
