diff options
Diffstat (limited to 'drivers/ata/sata_mv.c')
-rw-r--r-- | drivers/ata/sata_mv.c | 66 |
1 files changed, 10 insertions, 56 deletions
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 52d41edadb72..f341a82d27bf 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c | |||
@@ -526,23 +526,16 @@ static struct scsi_host_template mv6_sht = { | |||
526 | .dma_boundary = MV_DMA_BOUNDARY, | 526 | .dma_boundary = MV_DMA_BOUNDARY, |
527 | }; | 527 | }; |
528 | 528 | ||
529 | static const struct ata_port_operations mv5_ops = { | 529 | static struct ata_port_operations mv5_ops = { |
530 | .tf_load = ata_tf_load, | 530 | .inherits = &ata_sff_port_ops, |
531 | .tf_read = ata_tf_read, | ||
532 | .check_status = ata_check_status, | ||
533 | .exec_command = ata_exec_command, | ||
534 | .dev_select = ata_std_dev_select, | ||
535 | 531 | ||
536 | .qc_prep = mv_qc_prep, | 532 | .qc_prep = mv_qc_prep, |
537 | .qc_issue = mv_qc_issue, | 533 | .qc_issue = mv_qc_issue, |
538 | .data_xfer = ata_data_xfer, | ||
539 | 534 | ||
540 | .irq_clear = ata_noop_irq_clear, | ||
541 | .irq_on = ata_irq_on, | ||
542 | |||
543 | .error_handler = mv_error_handler, | ||
544 | .freeze = mv_eh_freeze, | 535 | .freeze = mv_eh_freeze, |
545 | .thaw = mv_eh_thaw, | 536 | .thaw = mv_eh_thaw, |
537 | .error_handler = mv_error_handler, | ||
538 | .post_internal_cmd = ATA_OP_NULL, | ||
546 | 539 | ||
547 | .scr_read = mv5_scr_read, | 540 | .scr_read = mv5_scr_read, |
548 | .scr_write = mv5_scr_write, | 541 | .scr_write = mv5_scr_write, |
@@ -551,57 +544,18 @@ static const struct ata_port_operations mv5_ops = { | |||
551 | .port_stop = mv_port_stop, | 544 | .port_stop = mv_port_stop, |
552 | }; | 545 | }; |
553 | 546 | ||
554 | static const struct ata_port_operations mv6_ops = { | 547 | static struct ata_port_operations mv6_ops = { |
555 | .dev_config = mv6_dev_config, | 548 | .inherits = &mv5_ops, |
556 | .tf_load = ata_tf_load, | ||
557 | .tf_read = ata_tf_read, | ||
558 | .check_status = ata_check_status, | ||
559 | .exec_command = ata_exec_command, | ||
560 | .dev_select = ata_std_dev_select, | ||
561 | |||
562 | .qc_prep = mv_qc_prep, | ||
563 | .qc_issue = mv_qc_issue, | ||
564 | .data_xfer = ata_data_xfer, | ||
565 | |||
566 | .irq_clear = ata_noop_irq_clear, | ||
567 | .irq_on = ata_irq_on, | ||
568 | |||
569 | .error_handler = mv_error_handler, | ||
570 | .freeze = mv_eh_freeze, | ||
571 | .thaw = mv_eh_thaw, | ||
572 | .qc_defer = ata_std_qc_defer, | 549 | .qc_defer = ata_std_qc_defer, |
573 | 550 | .dev_config = mv6_dev_config, | |
574 | .scr_read = mv_scr_read, | 551 | .scr_read = mv_scr_read, |
575 | .scr_write = mv_scr_write, | 552 | .scr_write = mv_scr_write, |
576 | |||
577 | .port_start = mv_port_start, | ||
578 | .port_stop = mv_port_stop, | ||
579 | }; | 553 | }; |
580 | 554 | ||
581 | static const struct ata_port_operations mv_iie_ops = { | 555 | static struct ata_port_operations mv_iie_ops = { |
582 | .tf_load = ata_tf_load, | 556 | .inherits = &mv6_ops, |
583 | .tf_read = ata_tf_read, | 557 | .dev_config = ATA_OP_NULL, |
584 | .check_status = ata_check_status, | ||
585 | .exec_command = ata_exec_command, | ||
586 | .dev_select = ata_std_dev_select, | ||
587 | |||
588 | .qc_prep = mv_qc_prep_iie, | 558 | .qc_prep = mv_qc_prep_iie, |
589 | .qc_issue = mv_qc_issue, | ||
590 | .data_xfer = ata_data_xfer, | ||
591 | |||
592 | .irq_clear = ata_noop_irq_clear, | ||
593 | .irq_on = ata_irq_on, | ||
594 | |||
595 | .error_handler = mv_error_handler, | ||
596 | .freeze = mv_eh_freeze, | ||
597 | .thaw = mv_eh_thaw, | ||
598 | .qc_defer = ata_std_qc_defer, | ||
599 | |||
600 | .scr_read = mv_scr_read, | ||
601 | .scr_write = mv_scr_write, | ||
602 | |||
603 | .port_start = mv_port_start, | ||
604 | .port_stop = mv_port_stop, | ||
605 | }; | 559 | }; |
606 | 560 | ||
607 | static const struct ata_port_info mv_port_info[] = { | 561 | static const struct ata_port_info mv_port_info[] = { |