at v2.6.20 32 lines 820 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 (*prep_fn)(struct mmc_queue *, struct request *); 14 int (*issue_fn)(struct mmc_queue *, struct request *); 15 void *data; 16 struct request_queue *queue; 17 struct scatterlist *sg; 18}; 19 20struct mmc_io_request { 21 struct request *rq; 22 int num; 23 struct mmc_command selcmd; /* mmc_queue private */ 24 struct mmc_command cmd[4]; /* max 4 commands */ 25}; 26 27extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *); 28extern void mmc_cleanup_queue(struct mmc_queue *); 29extern void mmc_queue_suspend(struct mmc_queue *); 30extern void mmc_queue_resume(struct mmc_queue *); 31 32#endif