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
*);