7
struct mmc_blk_request {
8
struct mmc_request mrq;
9
struct mmc_command sbc;
10
struct mmc_command cmd;
11
struct mmc_command stop;
15
struct mmc_queue_req {
17
struct mmc_blk_request brq;
18
struct scatterlist *sg;
20
struct scatterlist *bounce_sg;
21
unsigned int bounce_sg_len;
22
struct mmc_async_req mmc_active;
26
struct mmc_card *card;
27
struct task_struct *thread;
28
struct semaphore thread_sem;
30
int (*issue_fn)(struct mmc_queue *, struct request *);
32
struct request_queue *queue;
33
struct mmc_queue_req mqrq[2];
34
struct mmc_queue_req *mqrq_cur;
35
struct mmc_queue_req *mqrq_prev;
38
extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *,
40
extern void mmc_cleanup_queue(struct mmc_queue *);
41
extern void mmc_queue_suspend(struct mmc_queue *);
42
extern void mmc_queue_resume(struct mmc_queue *);
44
extern unsigned int mmc_queue_map_sg(struct mmc_queue *,
45
struct mmc_queue_req *);
46
extern void mmc_queue_bounce_pre(struct mmc_queue_req *);
47
extern void mmc_queue_bounce_post(struct mmc_queue_req *);