libata: implement and use ops inheritance
[deliverable/linux.git] / drivers / ata / pata_marvell.c
index 9de6e429d0d158f69c4f7778a690ed25be011d05..286310fc59108ded170eaa08bb435187deb68a05 100644 (file)
@@ -95,37 +95,10 @@ static struct scsi_host_template marvell_sht = {
        ATA_BMDMA_SHT(DRV_NAME),
 };
 
-static const struct ata_port_operations marvell_ops = {
-       /* Task file is PCI ATA format, use helpers */
-       .tf_load                = ata_tf_load,
-       .tf_read                = ata_tf_read,
-       .check_status           = ata_check_status,
-       .exec_command           = ata_exec_command,
-       .dev_select             = ata_std_dev_select,
-
-       .mode_filter            = ata_pci_default_filter,
-       .freeze                 = ata_bmdma_freeze,
-       .thaw                   = ata_bmdma_thaw,
-       .error_handler          = marvell_error_handler,
-       .post_internal_cmd      = ata_bmdma_post_internal_cmd,
+static struct ata_port_operations marvell_ops = {
+       .inherits               = &ata_bmdma_port_ops,
        .cable_detect           = marvell_cable_detect,
-
-       /* BMDMA handling is PCI ATA format, use helpers */
-       .bmdma_setup            = ata_bmdma_setup,
-       .bmdma_start            = ata_bmdma_start,
-       .bmdma_stop             = ata_bmdma_stop,
-       .bmdma_status           = ata_bmdma_status,
-       .qc_prep                = ata_qc_prep,
-       .qc_issue               = ata_qc_issue_prot,
-       .data_xfer              = ata_data_xfer,
-
-       /* Timeout handling */
-       .irq_handler            = ata_interrupt,
-       .irq_clear              = ata_bmdma_irq_clear,
-       .irq_on                 = ata_irq_on,
-
-       /* Generic PATA PCI ATA helpers */
-       .port_start             = ata_sff_port_start,
+       .error_handler          = marvell_error_handler,
 };
 
 
This page took 0.030307 seconds and 5 git commands to generate.