libata-pmp-prep: implement ops->qc_defer()
[safe/jmp/linux-2.6] / include / linux / libata.h
index c3820f1..b0d4ca0 100644 (file)
@@ -272,6 +272,10 @@ enum {
        /* ering size */
        ATA_ERING_SIZE          = 32,
 
+       /* return values for ->qc_defer */
+       ATA_DEFER_LINK          = 1,
+       ATA_DEFER_PORT          = 2,
+
        /* desc_len for ata_eh_info and context */
        ATA_EH_DESC_LEN         = 80,
 
@@ -639,6 +643,7 @@ struct ata_port_operations {
 
        void (*data_xfer) (struct ata_device *, unsigned char *, unsigned int, int);
 
+       int (*qc_defer) (struct ata_queued_cmd *qc);
        void (*qc_prep) (struct ata_queued_cmd *qc);
        unsigned int (*qc_issue) (struct ata_queued_cmd *qc);
 
@@ -824,6 +829,7 @@ extern void ata_data_xfer(struct ata_device *adev, unsigned char *buf,
                          unsigned int buflen, int write_data);
 extern void ata_data_xfer_noirq(struct ata_device *adev, unsigned char *buf,
                                unsigned int buflen, int write_data);
+extern int ata_std_qc_defer(struct ata_queued_cmd *qc);
 extern void ata_dumb_qc_prep(struct ata_queued_cmd *qc);
 extern void ata_qc_prep(struct ata_queued_cmd *qc);
 extern void ata_noop_qc_prep(struct ata_queued_cmd *qc);