summaryrefslogtreecommitdiff
path: root/include/linux/libata.h
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2004-07-02 16:08:29 -0400
committerJeff Garzik <jgarzik@pobox.com>2004-07-02 16:08:29 -0400
commit14d463397e3358aa2ccf0bb6846381c21b36d9b9 (patch)
treed72108300b05d9233bf3e5558a03593e6336fbfd /include/linux/libata.h
parent004a3668794a9ed1349b3b786987871100fc8389 (diff)
[libata] add ->qc_issue hook
This hook is used when an ATA controller wishes to use hardware-specific methods of taskfile delivery, rather than the standard method of bitbanging the ATA shadow registers.
Diffstat (limited to 'include/linux/libata.h')
-rw-r--r--include/linux/libata.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h
index a40286d08e23..6e8f0f00054e 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -311,7 +311,10 @@ struct ata_port_operations {
void (*bmdma_setup) (struct ata_queued_cmd *qc);
void (*bmdma_start) (struct ata_queued_cmd *qc);
+
void (*qc_prep) (struct ata_queued_cmd *qc);
+ int (*qc_issue) (struct ata_queued_cmd *qc);
+
void (*eng_timeout) (struct ata_port *ap);
irqreturn_t (*irq_handler)(int, void *, struct pt_regs *);
@@ -372,6 +375,7 @@ extern int ata_port_start (struct ata_port *ap);
extern void ata_port_stop (struct ata_port *ap);
extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs);
extern void ata_qc_prep(struct ata_queued_cmd *qc);
+extern int ata_qc_issue_prot(struct ata_queued_cmd *qc);
extern void ata_dev_id_string(struct ata_device *dev, unsigned char *s,
unsigned int ofs, unsigned int len);
extern void ata_bmdma_setup_mmio (struct ata_queued_cmd *qc);