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 c51502c047..25a6bf1815 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); |
