| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef MMC_QUEUE_H | 
|  | 2 | #define MMC_QUEUE_H | 
|  | 3 |  | 
|  | 4 | struct request; | 
|  | 5 | struct task_struct; | 
|  | 6 |  | 
|  | 7 | struct mmc_queue { | 
|  | 8 | struct mmc_card		*card; | 
| Christoph Hellwig | 87598a2 | 2006-11-13 20:23:52 +0100 | [diff] [blame] | 9 | struct task_struct	*thread; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | struct semaphore	thread_sem; | 
|  | 11 | unsigned int		flags; | 
|  | 12 | struct request		*req; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 13 | int			(*issue_fn)(struct mmc_queue *, struct request *); | 
|  | 14 | void			*data; | 
|  | 15 | struct request_queue	*queue; | 
|  | 16 | struct scatterlist	*sg; | 
| Pierre Ossman | 98ccf14 | 2007-05-12 00:26:16 +0200 | [diff] [blame] | 17 | char			*bounce_buf; | 
|  | 18 | struct scatterlist	*bounce_sg; | 
|  | 19 | unsigned int		bounce_sg_len; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 20 | }; | 
|  | 21 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 22 | extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *); | 
|  | 23 | extern void mmc_cleanup_queue(struct mmc_queue *); | 
|  | 24 | extern void mmc_queue_suspend(struct mmc_queue *); | 
|  | 25 | extern void mmc_queue_resume(struct mmc_queue *); | 
|  | 26 |  | 
| Pierre Ossman | 98ccf14 | 2007-05-12 00:26:16 +0200 | [diff] [blame] | 27 | extern unsigned int mmc_queue_map_sg(struct mmc_queue *); | 
|  | 28 | extern void mmc_queue_bounce_pre(struct mmc_queue *); | 
|  | 29 | extern void mmc_queue_bounce_post(struct mmc_queue *); | 
|  | 30 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | #endif |