aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/libata.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r--include/linux/libata.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index 83a83babff84..46337e71613e 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -135,6 +135,8 @@ enum {
135 ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* hueristic */ 135 ATA_TMOUT_BOOT_QUICK = 7 * HZ, /* hueristic */
136 ATA_TMOUT_CDB = 30 * HZ, 136 ATA_TMOUT_CDB = 30 * HZ,
137 ATA_TMOUT_CDB_QUICK = 5 * HZ, 137 ATA_TMOUT_CDB_QUICK = 5 * HZ,
138 ATA_TMOUT_INTERNAL = 30 * HZ,
139 ATA_TMOUT_INTERNAL_QUICK = 5 * HZ,
138 140
139 /* ATA bus states */ 141 /* ATA bus states */
140 BUS_UNKNOWN = 0, 142 BUS_UNKNOWN = 0,
@@ -194,7 +196,7 @@ struct ata_port;
194struct ata_queued_cmd; 196struct ata_queued_cmd;
195 197
196/* typedefs */ 198/* typedefs */
197typedef int (*ata_qc_cb_t) (struct ata_queued_cmd *qc, unsigned int err_mask); 199typedef int (*ata_qc_cb_t) (struct ata_queued_cmd *qc);
198 200
199struct ata_ioports { 201struct ata_ioports {
200 unsigned long cmd_addr; 202 unsigned long cmd_addr;
@@ -279,9 +281,9 @@ struct ata_queued_cmd {
279 /* DO NOT iterate over __sg manually, use ata_for_each_sg() */ 281 /* DO NOT iterate over __sg manually, use ata_for_each_sg() */
280 struct scatterlist *__sg; 282 struct scatterlist *__sg;
281 283
282 ata_qc_cb_t complete_fn; 284 unsigned int err_mask;
283 285
284 struct completion *waiting; 286 ata_qc_cb_t complete_fn;
285 287
286 void *private_data; 288 void *private_data;
287}; 289};
@@ -475,7 +477,7 @@ extern void ata_bmdma_start (struct ata_queued_cmd *qc);
475extern void ata_bmdma_stop(struct ata_queued_cmd *qc); 477extern void ata_bmdma_stop(struct ata_queued_cmd *qc);
476extern u8 ata_bmdma_status(struct ata_port *ap); 478extern u8 ata_bmdma_status(struct ata_port *ap);
477extern void ata_bmdma_irq_clear(struct ata_port *ap); 479extern void ata_bmdma_irq_clear(struct ata_port *ap);
478extern void ata_qc_complete(struct ata_queued_cmd *qc, unsigned int err_mask); 480extern void ata_qc_complete(struct ata_queued_cmd *qc);
479extern void ata_eng_timeout(struct ata_port *ap); 481extern void ata_eng_timeout(struct ata_port *ap);
480extern void ata_scsi_simulate(u16 *id, struct scsi_cmnd *cmd, 482extern void ata_scsi_simulate(u16 *id, struct scsi_cmnd *cmd,
481 void (*done)(struct scsi_cmnd *)); 483 void (*done)(struct scsi_cmnd *));
@@ -667,6 +669,7 @@ static inline void ata_qc_reinit(struct ata_queued_cmd *qc)
667 qc->cursect = qc->cursg = qc->cursg_ofs = 0; 669 qc->cursect = qc->cursg = qc->cursg_ofs = 0;
668 qc->nsect = 0; 670 qc->nsect = 0;
669 qc->nbytes = qc->curbytes = 0; 671 qc->nbytes = qc->curbytes = 0;
672 qc->err_mask = 0;
670 673
671 ata_tf_init(qc->ap, &qc->tf, qc->dev->devno); 674 ata_tf_init(qc->ap, &qc->tf, qc->dev->devno);
672} 675}