at v3.0 32 lines 868 B view raw
1#ifndef MMC_QUEUE_H 2#define MMC_QUEUE_H 3 4struct request; 5struct task_struct; 6 7struct mmc_queue { 8 struct mmc_card *card; 9 struct task_struct *thread; 10 struct semaphore thread_sem; 11 unsigned int flags; 12 struct request *req; 13 int (*issue_fn)(struct mmc_queue *, struct request *); 14 void *data; 15 struct request_queue *queue; 16 struct scatterlist *sg; 17 char *bounce_buf; 18 struct scatterlist *bounce_sg; 19 unsigned int bounce_sg_len; 20}; 21 22extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *, 23 const char *); 24extern void mmc_cleanup_queue(struct mmc_queue *); 25extern void mmc_queue_suspend(struct mmc_queue *); 26extern void mmc_queue_resume(struct mmc_queue *); 27 28extern unsigned int mmc_queue_map_sg(struct mmc_queue *); 29extern void mmc_queue_bounce_pre(struct mmc_queue *); 30extern void mmc_queue_bounce_post(struct mmc_queue *); 31 32#endif