.softreset              = ata_sff_softreset,
        .hardreset              = sata_sff_hardreset,
        .postreset              = ata_sff_postreset,
-       .drain_fifo             = ata_sff_drain_fifo,
        .error_handler          = ata_sff_error_handler,
        .post_internal_cmd      = ata_sff_post_internal_cmd,
 
        .sff_exec_command       = ata_sff_exec_command,
        .sff_data_xfer          = ata_sff_data_xfer,
        .sff_irq_clear          = ata_sff_irq_clear,
+       .sff_drain_fifo         = ata_sff_drain_fifo,
 
        .lost_interrupt         = ata_sff_lost_interrupt,
 };
         * if we touch the data port post reset. Pass qc in case anyone wants
         *  to do different PIO/DMA recovery or has per command fixups
         */
-       if (ap->ops->drain_fifo)
-               ap->ops->drain_fifo(qc);
+       if (ap->ops->sff_drain_fifo)
+               ap->ops->sff_drain_fifo(qc);
 
        spin_unlock_irqrestore(ap->lock, flags);
 
 
        .sff_data_xfer  = ata_data_xfer_8bit,
        .cable_detect   = ata_cable_40wire,
        .set_mode       = pcmcia_set_mode_8bit,
-       .drain_fifo     = pcmcia_8bit_drain_fifo,
+       .sff_drain_fifo = pcmcia_8bit_drain_fifo,
 };
 
 
 
        void (*sff_irq_on)(struct ata_port *);
        bool (*sff_irq_check)(struct ata_port *);
        void (*sff_irq_clear)(struct ata_port *);
+       void (*sff_drain_fifo)(struct ata_queued_cmd *qc);
 
        void (*bmdma_setup)(struct ata_queued_cmd *qc);
        void (*bmdma_start)(struct ata_queued_cmd *qc);
        void (*bmdma_stop)(struct ata_queued_cmd *qc);
        u8   (*bmdma_status)(struct ata_port *ap);
-
-       void (*drain_fifo)(struct ata_queued_cmd *qc);
 #endif /* CONFIG_ATA_SFF */
 
        ssize_t (*em_show)(struct ata_port *ap, char *buf);