diff options
author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2006-05-22 11:59:59 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-05-24 01:58:54 -0400 |
commit | a6b2c5d4754dc539a560fdf0d3fb78a14174394a (patch) | |
tree | c6daf88f97c7ed20becf2bd8666be81190eb4bb4 /include/linux | |
parent | 8190bdb9291758f3b8c436ec1154c9923ddb57ea (diff) |
[PATCH] PATCH: libata. Add ->data_xfer method
We need to pass the device in order to do per device checks such as
32bit I/O enables. With the changes to include dev->ap we now don't have
to add parameters however just clean them up. Also add data_xfer methods
to the existing drivers except ata_piix (which is in the other block of
patches). If you reject the piix one just add a data_xfer to it...
Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/libata.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/libata.h b/include/linux/libata.h index c51502c047a4..25a6bf181599 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -525,6 +525,8 @@ struct ata_port_operations { | |||
525 | void (*bmdma_setup) (struct ata_queued_cmd *qc); | 525 | void (*bmdma_setup) (struct ata_queued_cmd *qc); |
526 | void (*bmdma_start) (struct ata_queued_cmd *qc); | 526 | void (*bmdma_start) (struct ata_queued_cmd *qc); |
527 | 527 | ||
528 | void (*data_xfer) (struct ata_device *, unsigned char *, unsigned int, int); | ||
529 | |||
528 | void (*qc_prep) (struct ata_queued_cmd *qc); | 530 | void (*qc_prep) (struct ata_queued_cmd *qc); |
529 | unsigned int (*qc_issue) (struct ata_queued_cmd *qc); | 531 | unsigned int (*qc_issue) (struct ata_queued_cmd *qc); |
530 | 532 | ||
@@ -646,6 +648,10 @@ extern int ata_port_start (struct ata_port *ap); | |||
646 | extern void ata_port_stop (struct ata_port *ap); | 648 | extern void ata_port_stop (struct ata_port *ap); |
647 | extern void ata_host_stop (struct ata_host_set *host_set); | 649 | extern void ata_host_stop (struct ata_host_set *host_set); |
648 | extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs); | 650 | extern irqreturn_t ata_interrupt (int irq, void *dev_instance, struct pt_regs *regs); |
651 | extern void ata_mmio_data_xfer(struct ata_device *adev, unsigned char *buf, | ||
652 | unsigned int buflen, int write_data); | ||
653 | extern void ata_pio_data_xfer(struct ata_device *adev, unsigned char *buf, | ||
654 | unsigned int buflen, int write_data); | ||
649 | extern void ata_qc_prep(struct ata_queued_cmd *qc); | 655 | extern void ata_qc_prep(struct ata_queued_cmd *qc); |
650 | extern void ata_noop_qc_prep(struct ata_queued_cmd *qc); | 656 | extern void ata_noop_qc_prep(struct ata_queued_cmd *qc); |
651 | extern unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc); | 657 | extern unsigned int ata_qc_issue_prot(struct ata_queued_cmd *qc); |