diff options
Diffstat (limited to 'include/linux/ide.h')
-rw-r--r-- | include/linux/ide.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/ide.h b/include/linux/ide.h index c74b0321922a..079f8bc0b0f4 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -10,7 +10,7 @@ | |||
10 | #include <linux/init.h> | 10 | #include <linux/init.h> |
11 | #include <linux/ioport.h> | 11 | #include <linux/ioport.h> |
12 | #include <linux/ata.h> | 12 | #include <linux/ata.h> |
13 | #include <linux/blkdev.h> | 13 | #include <linux/blk-mq.h> |
14 | #include <linux/proc_fs.h> | 14 | #include <linux/proc_fs.h> |
15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
16 | #include <linux/bitops.h> | 16 | #include <linux/bitops.h> |
@@ -529,6 +529,10 @@ struct ide_drive_s { | |||
529 | 529 | ||
530 | struct request_queue *queue; /* request queue */ | 530 | struct request_queue *queue; /* request queue */ |
531 | 531 | ||
532 | int (*prep_rq)(struct ide_drive_s *, struct request *); | ||
533 | |||
534 | struct blk_mq_tag_set tag_set; | ||
535 | |||
532 | struct request *rq; /* current request */ | 536 | struct request *rq; /* current request */ |
533 | void *driver_data; /* extra driver data */ | 537 | void *driver_data; /* extra driver data */ |
534 | u16 *id; /* identification info */ | 538 | u16 *id; /* identification info */ |
@@ -612,6 +616,10 @@ struct ide_drive_s { | |||
612 | bool sense_rq_armed; | 616 | bool sense_rq_armed; |
613 | struct request *sense_rq; | 617 | struct request *sense_rq; |
614 | struct request_sense sense_data; | 618 | struct request_sense sense_data; |
619 | |||
620 | /* async sense insertion */ | ||
621 | struct work_struct rq_work; | ||
622 | struct list_head rq_list; | ||
615 | }; | 623 | }; |
616 | 624 | ||
617 | typedef struct ide_drive_s ide_drive_t; | 625 | typedef struct ide_drive_s ide_drive_t; |
@@ -1089,6 +1097,7 @@ extern int ide_pci_clk; | |||
1089 | 1097 | ||
1090 | int ide_end_rq(ide_drive_t *, struct request *, blk_status_t, unsigned int); | 1098 | int ide_end_rq(ide_drive_t *, struct request *, blk_status_t, unsigned int); |
1091 | void ide_kill_rq(ide_drive_t *, struct request *); | 1099 | void ide_kill_rq(ide_drive_t *, struct request *); |
1100 | void ide_insert_request_head(ide_drive_t *, struct request *); | ||
1092 | 1101 | ||
1093 | void __ide_set_handler(ide_drive_t *, ide_handler_t *, unsigned int); | 1102 | void __ide_set_handler(ide_drive_t *, ide_handler_t *, unsigned int); |
1094 | void ide_set_handler(ide_drive_t *, ide_handler_t *, unsigned int); | 1103 | void ide_set_handler(ide_drive_t *, ide_handler_t *, unsigned int); |
@@ -1208,7 +1217,7 @@ extern void ide_stall_queue(ide_drive_t *drive, unsigned long timeout); | |||
1208 | 1217 | ||
1209 | extern void ide_timer_expiry(struct timer_list *t); | 1218 | extern void ide_timer_expiry(struct timer_list *t); |
1210 | extern irqreturn_t ide_intr(int irq, void *dev_id); | 1219 | extern irqreturn_t ide_intr(int irq, void *dev_id); |
1211 | extern void do_ide_request(struct request_queue *); | 1220 | extern blk_status_t ide_queue_rq(struct blk_mq_hw_ctx *, const struct blk_mq_queue_data *); |
1212 | extern void ide_requeue_and_plug(ide_drive_t *drive, struct request *rq); | 1221 | extern void ide_requeue_and_plug(ide_drive_t *drive, struct request *rq); |
1213 | 1222 | ||
1214 | void ide_init_disk(struct gendisk *, ide_drive_t *); | 1223 | void ide_init_disk(struct gendisk *, ide_drive_t *); |