aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/ahci.c6
-rw-r--r--drivers/ata/libata-core.c18
-rw-r--r--drivers/ata/libata-scsi.c2
-rw-r--r--drivers/ata/libata-sff.c109
-rw-r--r--drivers/ata/pata_bf54x.c20
-rw-r--r--drivers/ata/pata_cmd640.c2
-rw-r--r--drivers/ata/pata_icside.c4
-rw-r--r--drivers/ata/pata_it821x.c2
-rw-r--r--drivers/ata/pata_ixp4xx_cf.c2
-rw-r--r--drivers/ata/pata_legacy.c14
-rw-r--r--drivers/ata/pata_mpc52xx.c2
-rw-r--r--drivers/ata/pata_ninja32.c2
-rw-r--r--drivers/ata/pata_ns87415.c8
-rw-r--r--drivers/ata/pata_pcmcia.c4
-rw-r--r--drivers/ata/pata_platform.c2
-rw-r--r--drivers/ata/pata_qdi.c2
-rw-r--r--drivers/ata/pata_rb500_cf.c4
-rw-r--r--drivers/ata/pata_scc.c42
-rw-r--r--drivers/ata/pata_via.c2
-rw-r--r--drivers/ata/pata_winbond.c2
-rw-r--r--drivers/ata/sata_fsl.c6
-rw-r--r--drivers/ata/sata_inic162x.c12
-rw-r--r--drivers/ata/sata_nv.c20
-rw-r--r--drivers/ata/sata_promise.c6
-rw-r--r--drivers/ata/sata_sil.c6
-rw-r--r--drivers/ata/sata_sil24.c6
-rw-r--r--drivers/ata/sata_svw.c10
-rw-r--r--drivers/ata/sata_sx4.c16
-rw-r--r--drivers/ata/sata_via.c2
-rw-r--r--drivers/ata/sata_vsc.c6
30 files changed, 171 insertions, 168 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 771509c9a3fb..c5e4501daa74 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -292,10 +292,10 @@ static struct scsi_host_template ahci_sht = {
292static struct ata_port_operations ahci_ops = { 292static struct ata_port_operations ahci_ops = {
293 .inherits = &sata_pmp_port_ops, 293 .inherits = &sata_pmp_port_ops,
294 294
295 .check_status = ahci_check_status, 295 .sff_check_status = ahci_check_status,
296 .check_altstatus = ahci_check_status, 296 .sff_check_altstatus = ahci_check_status,
297 297
298 .tf_read = ahci_tf_read, 298 .sff_tf_read = ahci_tf_read,
299 .qc_defer = sata_pmp_qc_defer_cmd_switch, 299 .qc_defer = sata_pmp_qc_defer_cmd_switch,
300 .qc_prep = ahci_qc_prep, 300 .qc_prep = ahci_qc_prep,
301 .qc_issue = ahci_qc_issue, 301 .qc_issue = ahci_qc_issue,
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c
index cbdbfb5eaeaa..a01e02c5ce7a 100644
--- a/drivers/ata/libata-core.c
+++ b/drivers/ata/libata-core.c
@@ -74,7 +74,7 @@ const unsigned long sata_deb_timing_hotplug[] = { 25, 500, 2000 };
74const unsigned long sata_deb_timing_long[] = { 100, 2000, 5000 }; 74const unsigned long sata_deb_timing_long[] = { 100, 2000, 5000 };
75 75
76const struct ata_port_operations ata_base_port_ops = { 76const struct ata_port_operations ata_base_port_ops = {
77 .irq_clear = ata_noop_irq_clear, 77 .sff_irq_clear = ata_noop_irq_clear,
78 .prereset = ata_sff_prereset, 78 .prereset = ata_sff_prereset,
79 .hardreset = sata_sff_hardreset, 79 .hardreset = sata_sff_hardreset,
80 .postreset = ata_sff_postreset, 80 .postreset = ata_sff_postreset,
@@ -85,7 +85,7 @@ const struct ata_port_operations sata_port_ops = {
85 .inherits = &ata_base_port_ops, 85 .inherits = &ata_base_port_ops,
86 86
87 .qc_defer = ata_std_qc_defer, 87 .qc_defer = ata_std_qc_defer,
88 .dev_select = ata_noop_dev_select, 88 .sff_dev_select = ata_noop_dev_select,
89}; 89};
90 90
91const struct ata_port_operations sata_pmp_port_ops = { 91const struct ata_port_operations sata_pmp_port_ops = {
@@ -3563,9 +3563,9 @@ void ata_sff_postreset(struct ata_link *link, unsigned int *classes)
3563 3563
3564 /* is double-select really necessary? */ 3564 /* is double-select really necessary? */
3565 if (classes[0] != ATA_DEV_NONE) 3565 if (classes[0] != ATA_DEV_NONE)
3566 ap->ops->dev_select(ap, 1); 3566 ap->ops->sff_dev_select(ap, 1);
3567 if (classes[1] != ATA_DEV_NONE) 3567 if (classes[1] != ATA_DEV_NONE)
3568 ap->ops->dev_select(ap, 0); 3568 ap->ops->sff_dev_select(ap, 0);
3569 3569
3570 /* bail out if no device is present */ 3570 /* bail out if no device is present */
3571 if (classes[0] == ATA_DEV_NONE && classes[1] == ATA_DEV_NONE) { 3571 if (classes[0] == ATA_DEV_NONE && classes[1] == ATA_DEV_NONE) {
@@ -4416,7 +4416,7 @@ static void fill_result_tf(struct ata_queued_cmd *qc)
4416 struct ata_port *ap = qc->ap; 4416 struct ata_port *ap = qc->ap;
4417 4417
4418 qc->result_tf.flags = qc->tf.flags; 4418 qc->result_tf.flags = qc->tf.flags;
4419 ap->ops->tf_read(ap, &qc->result_tf); 4419 ap->ops->sff_tf_read(ap, &qc->result_tf);
4420} 4420}
4421 4421
4422static void ata_verify_xfer(struct ata_queued_cmd *qc) 4422static void ata_verify_xfer(struct ata_queued_cmd *qc)
@@ -6049,16 +6049,16 @@ static unsigned int ata_dummy_qc_issue(struct ata_queued_cmd *qc)
6049} 6049}
6050 6050
6051struct ata_port_operations ata_dummy_port_ops = { 6051struct ata_port_operations ata_dummy_port_ops = {
6052 .check_status = ata_dummy_check_status, 6052 .sff_check_status = ata_dummy_check_status,
6053 .check_altstatus = ata_dummy_check_status, 6053 .sff_check_altstatus = ata_dummy_check_status,
6054 .dev_select = ata_noop_dev_select, 6054 .sff_dev_select = ata_noop_dev_select,
6055 .qc_prep = ata_noop_qc_prep, 6055 .qc_prep = ata_noop_qc_prep,
6056 .qc_issue = ata_dummy_qc_issue, 6056 .qc_issue = ata_dummy_qc_issue,
6057 .freeze = ata_dummy_noret, 6057 .freeze = ata_dummy_noret,
6058 .thaw = ata_dummy_noret, 6058 .thaw = ata_dummy_noret,
6059 .error_handler = ata_dummy_noret, 6059 .error_handler = ata_dummy_noret,
6060 .post_internal_cmd = ata_dummy_qc_noret, 6060 .post_internal_cmd = ata_dummy_qc_noret,
6061 .irq_clear = ata_dummy_noret, 6061 .sff_irq_clear = ata_dummy_noret,
6062 .port_start = ata_dummy_ret0, 6062 .port_start = ata_dummy_ret0,
6063 .port_stop = ata_dummy_noret, 6063 .port_stop = ata_dummy_noret,
6064}; 6064};
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 798ba5e45710..f8be92836a6e 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -2393,7 +2393,7 @@ static void atapi_request_sense(struct ata_queued_cmd *qc)
2393 /* FIXME: is this needed? */ 2393 /* FIXME: is this needed? */
2394 memset(cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE); 2394 memset(cmd->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
2395 2395
2396 ap->ops->tf_read(ap, &qc->tf); 2396 ap->ops->sff_tf_read(ap, &qc->tf);
2397 2397
2398 /* fill these in, for the case where they are -not- overwritten */ 2398 /* fill these in, for the case where they are -not- overwritten */
2399 cmd->sense_buffer[0] = 0x70; 2399 cmd->sense_buffer[0] = 0x70;
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c
index 8544321293d4..04024a556660 100644
--- a/drivers/ata/libata-sff.c
+++ b/drivers/ata/libata-sff.c
@@ -51,13 +51,13 @@ const struct ata_port_operations ata_sff_port_ops = {
51 .error_handler = ata_sff_error_handler, 51 .error_handler = ata_sff_error_handler,
52 .post_internal_cmd = ata_sff_post_internal_cmd, 52 .post_internal_cmd = ata_sff_post_internal_cmd,
53 53
54 .dev_select = ata_sff_dev_select, 54 .sff_dev_select = ata_sff_dev_select,
55 .check_status = ata_sff_check_status, 55 .sff_check_status = ata_sff_check_status,
56 .tf_load = ata_sff_tf_load, 56 .sff_tf_load = ata_sff_tf_load,
57 .tf_read = ata_sff_tf_read, 57 .sff_tf_read = ata_sff_tf_read,
58 .exec_command = ata_sff_exec_command, 58 .sff_exec_command = ata_sff_exec_command,
59 .data_xfer = ata_sff_data_xfer, 59 .sff_data_xfer = ata_sff_data_xfer,
60 .irq_on = ata_sff_irq_on, 60 .sff_irq_on = ata_sff_irq_on,
61 61
62 .port_start = ata_sff_port_start, 62 .port_start = ata_sff_port_start,
63}; 63};
@@ -71,7 +71,7 @@ const struct ata_port_operations ata_bmdma_port_ops = {
71 .bmdma_start = ata_bmdma_start, 71 .bmdma_start = ata_bmdma_start,
72 .bmdma_stop = ata_bmdma_stop, 72 .bmdma_stop = ata_bmdma_stop,
73 .bmdma_status = ata_bmdma_status, 73 .bmdma_status = ata_bmdma_status,
74 .irq_clear = ata_sff_irq_clear, 74 .sff_irq_clear = ata_sff_irq_clear,
75}; 75};
76 76
77/** 77/**
@@ -245,8 +245,8 @@ u8 ata_sff_check_status(struct ata_port *ap)
245 */ 245 */
246u8 ata_sff_altstatus(struct ata_port *ap) 246u8 ata_sff_altstatus(struct ata_port *ap)
247{ 247{
248 if (ap->ops->check_altstatus) 248 if (ap->ops->sff_check_altstatus)
249 return ap->ops->check_altstatus(ap); 249 return ap->ops->sff_check_altstatus(ap);
250 250
251 return ioread8(ap->ioaddr.altstatus_addr); 251 return ioread8(ap->ioaddr.altstatus_addr);
252} 252}
@@ -290,7 +290,7 @@ int ata_sff_busy_sleep(struct ata_port *ap,
290 while (status != 0xff && (status & ATA_BUSY) && 290 while (status != 0xff && (status & ATA_BUSY) &&
291 time_before(jiffies, timeout)) { 291 time_before(jiffies, timeout)) {
292 msleep(50); 292 msleep(50);
293 status = ap->ops->check_status(ap); 293 status = ap->ops->sff_check_status(ap);
294 } 294 }
295 295
296 if (status == 0xff) 296 if (status == 0xff)
@@ -326,7 +326,7 @@ int ata_sff_wait_ready(struct ata_port *ap, unsigned long deadline)
326 int warned = 0; 326 int warned = 0;
327 327
328 while (1) { 328 while (1) {
329 u8 status = ap->ops->check_status(ap); 329 u8 status = ap->ops->sff_check_status(ap);
330 unsigned long now = jiffies; 330 unsigned long now = jiffies;
331 331
332 if (!(status & ATA_BUSY)) 332 if (!(status & ATA_BUSY))
@@ -403,7 +403,7 @@ void ata_dev_select(struct ata_port *ap, unsigned int device,
403 if (wait) 403 if (wait)
404 ata_wait_idle(ap); 404 ata_wait_idle(ap);
405 405
406 ap->ops->dev_select(ap, device); 406 ap->ops->sff_dev_select(ap, device);
407 407
408 if (wait) { 408 if (wait) {
409 if (can_sleep && ap->link.device[device].class == ATA_DEV_ATAPI) 409 if (can_sleep && ap->link.device[device].class == ATA_DEV_ATAPI)
@@ -434,7 +434,7 @@ u8 ata_sff_irq_on(struct ata_port *ap)
434 iowrite8(ap->ctl, ioaddr->ctl_addr); 434 iowrite8(ap->ctl, ioaddr->ctl_addr);
435 tmp = ata_wait_idle(ap); 435 tmp = ata_wait_idle(ap);
436 436
437 ap->ops->irq_clear(ap); 437 ap->ops->sff_irq_clear(ap);
438 438
439 return tmp; 439 return tmp;
440} 440}
@@ -593,8 +593,8 @@ void ata_sff_exec_command(struct ata_port *ap, const struct ata_taskfile *tf)
593static inline void ata_tf_to_host(struct ata_port *ap, 593static inline void ata_tf_to_host(struct ata_port *ap,
594 const struct ata_taskfile *tf) 594 const struct ata_taskfile *tf)
595{ 595{
596 ap->ops->tf_load(ap, tf); 596 ap->ops->sff_tf_load(ap, tf);
597 ap->ops->exec_command(ap, tf); 597 ap->ops->sff_exec_command(ap, tf);
598} 598}
599 599
600/** 600/**
@@ -709,13 +709,15 @@ static void ata_pio_sector(struct ata_queued_cmd *qc)
709 buf = kmap_atomic(page, KM_IRQ0); 709 buf = kmap_atomic(page, KM_IRQ0);
710 710
711 /* do the actual data transfer */ 711 /* do the actual data transfer */
712 ap->ops->data_xfer(qc->dev, buf + offset, qc->sect_size, do_write); 712 ap->ops->sff_data_xfer(qc->dev, buf + offset, qc->sect_size,
713 do_write);
713 714
714 kunmap_atomic(buf, KM_IRQ0); 715 kunmap_atomic(buf, KM_IRQ0);
715 local_irq_restore(flags); 716 local_irq_restore(flags);
716 } else { 717 } else {
717 buf = page_address(page); 718 buf = page_address(page);
718 ap->ops->data_xfer(qc->dev, buf + offset, qc->sect_size, do_write); 719 ap->ops->sff_data_xfer(qc->dev, buf + offset, qc->sect_size,
720 do_write);
719 } 721 }
720 722
721 qc->curbytes += qc->sect_size; 723 qc->curbytes += qc->sect_size;
@@ -772,7 +774,7 @@ static void atapi_send_cdb(struct ata_port *ap, struct ata_queued_cmd *qc)
772 DPRINTK("send cdb\n"); 774 DPRINTK("send cdb\n");
773 WARN_ON(qc->dev->cdb_len < 12); 775 WARN_ON(qc->dev->cdb_len < 12);
774 776
775 ap->ops->data_xfer(qc->dev, qc->cdb, qc->dev->cdb_len, 1); 777 ap->ops->sff_data_xfer(qc->dev, qc->cdb, qc->dev->cdb_len, 1);
776 ata_sff_altstatus(ap); /* flush */ 778 ata_sff_altstatus(ap); /* flush */
777 779
778 switch (qc->tf.protocol) { 780 switch (qc->tf.protocol) {
@@ -844,13 +846,13 @@ next_sg:
844 buf = kmap_atomic(page, KM_IRQ0); 846 buf = kmap_atomic(page, KM_IRQ0);
845 847
846 /* do the actual data transfer */ 848 /* do the actual data transfer */
847 consumed = ap->ops->data_xfer(dev, buf + offset, count, rw); 849 consumed = ap->ops->sff_data_xfer(dev, buf + offset, count, rw);
848 850
849 kunmap_atomic(buf, KM_IRQ0); 851 kunmap_atomic(buf, KM_IRQ0);
850 local_irq_restore(flags); 852 local_irq_restore(flags);
851 } else { 853 } else {
852 buf = page_address(page); 854 buf = page_address(page);
853 consumed = ap->ops->data_xfer(dev, buf + offset, count, rw); 855 consumed = ap->ops->sff_data_xfer(dev, buf + offset, count, rw);
854 } 856 }
855 857
856 bytes -= min(bytes, consumed); 858 bytes -= min(bytes, consumed);
@@ -893,7 +895,7 @@ static void atapi_pio_bytes(struct ata_queued_cmd *qc)
893 * error, qc->result_tf is later overwritten by ata_qc_complete(). 895 * error, qc->result_tf is later overwritten by ata_qc_complete().
894 * So, the correctness of qc->result_tf is not affected. 896 * So, the correctness of qc->result_tf is not affected.
895 */ 897 */
896 ap->ops->tf_read(ap, &qc->result_tf); 898 ap->ops->sff_tf_read(ap, &qc->result_tf);
897 ireason = qc->result_tf.nsect; 899 ireason = qc->result_tf.nsect;
898 bc_lo = qc->result_tf.lbam; 900 bc_lo = qc->result_tf.lbam;
899 bc_hi = qc->result_tf.lbah; 901 bc_hi = qc->result_tf.lbah;
@@ -979,7 +981,7 @@ static void ata_hsm_qc_complete(struct ata_queued_cmd *qc, int in_wq)
979 qc = ata_qc_from_tag(ap, qc->tag); 981 qc = ata_qc_from_tag(ap, qc->tag);
980 if (qc) { 982 if (qc) {
981 if (likely(!(qc->err_mask & AC_ERR_HSM))) { 983 if (likely(!(qc->err_mask & AC_ERR_HSM))) {
982 ap->ops->irq_on(ap); 984 ap->ops->sff_irq_on(ap);
983 ata_qc_complete(qc); 985 ata_qc_complete(qc);
984 } else 986 } else
985 ata_port_freeze(ap); 987 ata_port_freeze(ap);
@@ -995,7 +997,7 @@ static void ata_hsm_qc_complete(struct ata_queued_cmd *qc, int in_wq)
995 } else { 997 } else {
996 if (in_wq) { 998 if (in_wq) {
997 spin_lock_irqsave(ap->lock, flags); 999 spin_lock_irqsave(ap->lock, flags);
998 ap->ops->irq_on(ap); 1000 ap->ops->sff_irq_on(ap);
999 ata_qc_complete(qc); 1001 ata_qc_complete(qc);
1000 spin_unlock_irqrestore(ap->lock, flags); 1002 spin_unlock_irqrestore(ap->lock, flags);
1001 } else 1003 } else
@@ -1345,7 +1347,7 @@ unsigned int ata_sff_qc_issue(struct ata_queued_cmd *qc)
1345 case ATA_PROT_DMA: 1347 case ATA_PROT_DMA:
1346 WARN_ON(qc->tf.flags & ATA_TFLAG_POLLING); 1348 WARN_ON(qc->tf.flags & ATA_TFLAG_POLLING);
1347 1349
1348 ap->ops->tf_load(ap, &qc->tf); /* load tf registers */ 1350 ap->ops->sff_tf_load(ap, &qc->tf); /* load tf registers */
1349 ap->ops->bmdma_setup(qc); /* set up bmdma */ 1351 ap->ops->bmdma_setup(qc); /* set up bmdma */
1350 ap->ops->bmdma_start(qc); /* initiate bmdma */ 1352 ap->ops->bmdma_start(qc); /* initiate bmdma */
1351 ap->hsm_task_state = HSM_ST_LAST; 1353 ap->hsm_task_state = HSM_ST_LAST;
@@ -1397,7 +1399,7 @@ unsigned int ata_sff_qc_issue(struct ata_queued_cmd *qc)
1397 case ATAPI_PROT_DMA: 1399 case ATAPI_PROT_DMA:
1398 WARN_ON(qc->tf.flags & ATA_TFLAG_POLLING); 1400 WARN_ON(qc->tf.flags & ATA_TFLAG_POLLING);
1399 1401
1400 ap->ops->tf_load(ap, &qc->tf); /* load tf registers */ 1402 ap->ops->sff_tf_load(ap, &qc->tf); /* load tf registers */
1401 ap->ops->bmdma_setup(qc); /* set up bmdma */ 1403 ap->ops->bmdma_setup(qc); /* set up bmdma */
1402 ap->hsm_task_state = HSM_ST_FIRST; 1404 ap->hsm_task_state = HSM_ST_FIRST;
1403 1405
@@ -1486,12 +1488,12 @@ inline unsigned int ata_sff_host_intr(struct ata_port *ap,
1486 goto idle_irq; 1488 goto idle_irq;
1487 1489
1488 /* check main status, clearing INTRQ */ 1490 /* check main status, clearing INTRQ */
1489 status = ap->ops->check_status(ap); 1491 status = ap->ops->sff_check_status(ap);
1490 if (unlikely(status & ATA_BUSY)) 1492 if (unlikely(status & ATA_BUSY))
1491 goto idle_irq; 1493 goto idle_irq;
1492 1494
1493 /* ack bmdma irq events */ 1495 /* ack bmdma irq events */
1494 ap->ops->irq_clear(ap); 1496 ap->ops->sff_irq_clear(ap);
1495 1497
1496 ata_sff_hsm_move(ap, qc, status, 0); 1498 ata_sff_hsm_move(ap, qc, status, 0);
1497 1499
@@ -1506,8 +1508,8 @@ idle_irq:
1506 1508
1507#ifdef ATA_IRQ_TRAP 1509#ifdef ATA_IRQ_TRAP
1508 if ((ap->stats.idle_irq % 1000) == 0) { 1510 if ((ap->stats.idle_irq % 1000) == 0) {
1509 ap->ops->check_status(ap); 1511 ap->ops->sff_check_status(ap);
1510 ap->ops->irq_clear(ap); 1512 ap->ops->sff_irq_clear(ap);
1511 ata_port_printk(ap, KERN_WARNING, "irq trap\n"); 1513 ata_port_printk(ap, KERN_WARNING, "irq trap\n");
1512 return 1; 1514 return 1;
1513 } 1515 }
@@ -1582,9 +1584,9 @@ void ata_sff_freeze(struct ata_port *ap)
1582 * ATA_NIEN manipulation. Also, many controllers fail to mask 1584 * ATA_NIEN manipulation. Also, many controllers fail to mask
1583 * previously pending IRQ on ATA_NIEN assertion. Clear it. 1585 * previously pending IRQ on ATA_NIEN assertion. Clear it.
1584 */ 1586 */
1585 ap->ops->check_status(ap); 1587 ap->ops->sff_check_status(ap);
1586 1588
1587 ap->ops->irq_clear(ap); 1589 ap->ops->sff_irq_clear(ap);
1588} 1590}
1589 1591
1590/** 1592/**
@@ -1599,9 +1601,9 @@ void ata_sff_freeze(struct ata_port *ap)
1599void ata_sff_thaw(struct ata_port *ap) 1601void ata_sff_thaw(struct ata_port *ap)
1600{ 1602{
1601 /* clear & re-enable interrupts */ 1603 /* clear & re-enable interrupts */
1602 ap->ops->check_status(ap); 1604 ap->ops->sff_check_status(ap);
1603 ap->ops->irq_clear(ap); 1605 ap->ops->sff_irq_clear(ap);
1604 ap->ops->irq_on(ap); 1606 ap->ops->sff_irq_on(ap);
1605} 1607}
1606 1608
1607/** 1609/**
@@ -1626,7 +1628,7 @@ static unsigned int ata_devchk(struct ata_port *ap, unsigned int device)
1626 struct ata_ioports *ioaddr = &ap->ioaddr; 1628 struct ata_ioports *ioaddr = &ap->ioaddr;
1627 u8 nsect, lbal; 1629 u8 nsect, lbal;
1628 1630
1629 ap->ops->dev_select(ap, device); 1631 ap->ops->sff_dev_select(ap, device);
1630 1632
1631 iowrite8(0x55, ioaddr->nsect_addr); 1633 iowrite8(0x55, ioaddr->nsect_addr);
1632 iowrite8(0xaa, ioaddr->lbal_addr); 1634 iowrite8(0xaa, ioaddr->lbal_addr);
@@ -1675,11 +1677,11 @@ unsigned int ata_sff_dev_classify(struct ata_device *dev, int present,
1675 unsigned int class; 1677 unsigned int class;
1676 u8 err; 1678 u8 err;
1677 1679
1678 ap->ops->dev_select(ap, dev->devno); 1680 ap->ops->sff_dev_select(ap, dev->devno);
1679 1681
1680 memset(&tf, 0, sizeof(tf)); 1682 memset(&tf, 0, sizeof(tf));
1681 1683
1682 ap->ops->tf_read(ap, &tf); 1684 ap->ops->sff_tf_read(ap, &tf);
1683 err = tf.feature; 1685 err = tf.feature;
1684 if (r_err) 1686 if (r_err)
1685 *r_err = err; 1687 *r_err = err;
@@ -1709,7 +1711,8 @@ unsigned int ata_sff_dev_classify(struct ata_device *dev, int present,
1709 class = ATA_DEV_ATA; 1711 class = ATA_DEV_ATA;
1710 else 1712 else
1711 class = ATA_DEV_NONE; 1713 class = ATA_DEV_NONE;
1712 } else if ((class == ATA_DEV_ATA) && (ap->ops->check_status(ap) == 0)) 1714 } else if ((class == ATA_DEV_ATA) &&
1715 (ap->ops->sff_check_status(ap) == 0))
1713 class = ATA_DEV_NONE; 1716 class = ATA_DEV_NONE;
1714 1717
1715 return class; 1718 return class;
@@ -1741,7 +1744,7 @@ static int ata_bus_post_reset(struct ata_port *ap, unsigned int devmask,
1741 if (dev1) { 1744 if (dev1) {
1742 int i; 1745 int i;
1743 1746
1744 ap->ops->dev_select(ap, 1); 1747 ap->ops->sff_dev_select(ap, 1);
1745 1748
1746 /* Wait for register access. Some ATAPI devices fail 1749 /* Wait for register access. Some ATAPI devices fail
1747 * to set nsect/lbal after reset, so don't waste too 1750 * to set nsect/lbal after reset, so don't waste too
@@ -1766,11 +1769,11 @@ static int ata_bus_post_reset(struct ata_port *ap, unsigned int devmask,
1766 } 1769 }
1767 1770
1768 /* is all this really necessary? */ 1771 /* is all this really necessary? */
1769 ap->ops->dev_select(ap, 0); 1772 ap->ops->sff_dev_select(ap, 0);
1770 if (dev1) 1773 if (dev1)
1771 ap->ops->dev_select(ap, 1); 1774 ap->ops->sff_dev_select(ap, 1);
1772 if (dev0) 1775 if (dev0)
1773 ap->ops->dev_select(ap, 0); 1776 ap->ops->sff_dev_select(ap, 0);
1774 1777
1775 return ret; 1778 return ret;
1776} 1779}
@@ -1820,7 +1823,7 @@ void ata_sff_wait_after_reset(struct ata_port *ap, unsigned long deadline)
1820 */ 1823 */
1821 if (ap->flags & ATA_FLAG_SATA) { 1824 if (ap->flags & ATA_FLAG_SATA) {
1822 while (1) { 1825 while (1) {
1823 u8 status = ap->ops->check_status(ap); 1826 u8 status = ap->ops->sff_check_status(ap);
1824 1827
1825 if (status != 0xff || time_after(jiffies, deadline)) 1828 if (status != 0xff || time_after(jiffies, deadline))
1826 return; 1829 return;
@@ -1851,7 +1854,7 @@ static int ata_bus_softreset(struct ata_port *ap, unsigned int devmask,
1851 * the bus shows 0xFF because the odd clown forgets the D7 1854 * the bus shows 0xFF because the odd clown forgets the D7
1852 * pulldown resistor. 1855 * pulldown resistor.
1853 */ 1856 */
1854 if (ap->ops->check_status(ap) == 0xFF) 1857 if (ap->ops->sff_check_status(ap) == 0xFF)
1855 return -ENODEV; 1858 return -ENODEV;
1856 1859
1857 return ata_bus_post_reset(ap, devmask, deadline); 1860 return ata_bus_post_reset(ap, devmask, deadline);
@@ -1894,7 +1897,7 @@ int ata_sff_softreset(struct ata_link *link, unsigned int *classes,
1894 devmask |= (1 << 1); 1897 devmask |= (1 << 1);
1895 1898
1896 /* select device 0 again */ 1899 /* select device 0 again */
1897 ap->ops->dev_select(ap, 0); 1900 ap->ops->sff_dev_select(ap, 0);
1898 1901
1899 /* issue bus reset */ 1902 /* issue bus reset */
1900 DPRINTK("about to softreset, devmask=%x\n", devmask); 1903 DPRINTK("about to softreset, devmask=%x\n", devmask);
@@ -1977,7 +1980,7 @@ int sata_sff_hardreset(struct ata_link *link, unsigned int *class,
1977 return rc; 1980 return rc;
1978 } 1981 }
1979 1982
1980 ap->ops->dev_select(ap, 0); /* probably unnecessary */ 1983 ap->ops->sff_dev_select(ap, 0); /* probably unnecessary */
1981 1984
1982 *class = ata_sff_dev_classify(link->device, 1, NULL); 1985 *class = ata_sff_dev_classify(link->device, 1, NULL);
1983 1986
@@ -2035,8 +2038,8 @@ void ata_sff_error_handler(struct ata_port *ap)
2035 } 2038 }
2036 2039
2037 ata_sff_altstatus(ap); 2040 ata_sff_altstatus(ap);
2038 ap->ops->check_status(ap); 2041 ap->ops->sff_check_status(ap);
2039 ap->ops->irq_clear(ap); 2042 ap->ops->sff_irq_clear(ap);
2040 2043
2041 spin_unlock_irqrestore(ap->lock, flags); 2044 spin_unlock_irqrestore(ap->lock, flags);
2042 2045
@@ -2153,7 +2156,7 @@ void ata_bmdma_setup(struct ata_queued_cmd *qc)
2153 iowrite8(dmactl, ap->ioaddr.bmdma_addr + ATA_DMA_CMD); 2156 iowrite8(dmactl, ap->ioaddr.bmdma_addr + ATA_DMA_CMD);
2154 2157
2155 /* issue r/w command */ 2158 /* issue r/w command */
2156 ap->ops->exec_command(ap, &qc->tf); 2159 ap->ops->sff_exec_command(ap, &qc->tf);
2157} 2160}
2158 2161
2159/** 2162/**
@@ -2277,7 +2280,7 @@ void ata_bus_reset(struct ata_port *ap)
2277 devmask |= (1 << 1); 2280 devmask |= (1 << 1);
2278 2281
2279 /* select device 0 again */ 2282 /* select device 0 again */
2280 ap->ops->dev_select(ap, 0); 2283 ap->ops->sff_dev_select(ap, 0);
2281 2284
2282 /* issue bus reset */ 2285 /* issue bus reset */
2283 if (ap->flags & ATA_FLAG_SRST) { 2286 if (ap->flags & ATA_FLAG_SRST) {
@@ -2295,9 +2298,9 @@ void ata_bus_reset(struct ata_port *ap)
2295 2298
2296 /* is double-select really necessary? */ 2299 /* is double-select really necessary? */
2297 if (device[1].class != ATA_DEV_NONE) 2300 if (device[1].class != ATA_DEV_NONE)
2298 ap->ops->dev_select(ap, 1); 2301 ap->ops->sff_dev_select(ap, 1);
2299 if (device[0].class != ATA_DEV_NONE) 2302 if (device[0].class != ATA_DEV_NONE)
2300 ap->ops->dev_select(ap, 0); 2303 ap->ops->sff_dev_select(ap, 0);
2301 2304
2302 /* if no devices were detected, disable this port */ 2305 /* if no devices were detected, disable this port */
2303 if ((device[0].class == ATA_DEV_NONE) && 2306 if ((device[0].class == ATA_DEV_NONE) &&
diff --git a/drivers/ata/pata_bf54x.c b/drivers/ata/pata_bf54x.c
index c854e882d4a9..d98bd7455e6b 100644
--- a/drivers/ata/pata_bf54x.c
+++ b/drivers/ata/pata_bf54x.c
@@ -1264,7 +1264,7 @@ static void bfin_freeze(struct ata_port *ap)
1264 * ATA_NIEN manipulation. Also, many controllers fail to mask 1264 * ATA_NIEN manipulation. Also, many controllers fail to mask
1265 * previously pending IRQ on ATA_NIEN assertion. Clear it. 1265 * previously pending IRQ on ATA_NIEN assertion. Clear it.
1266 */ 1266 */
1267 ap->ops->check_status(ap); 1267 ap->ops->sff_check_status(ap);
1268 1268
1269 bfin_irq_clear(ap); 1269 bfin_irq_clear(ap);
1270} 1270}
@@ -1357,18 +1357,18 @@ static const struct ata_port_operations bfin_pata_ops = {
1357 .set_piomode = bfin_set_piomode, 1357 .set_piomode = bfin_set_piomode,
1358 .set_dmamode = bfin_set_dmamode, 1358 .set_dmamode = bfin_set_dmamode,
1359 1359
1360 .tf_load = bfin_tf_load, 1360 .sff_tf_load = bfin_tf_load,
1361 .tf_read = bfin_tf_read, 1361 .sff_tf_read = bfin_tf_read,
1362 .exec_command = bfin_exec_command, 1362 .sff_exec_command = bfin_exec_command,
1363 .check_status = bfin_check_status, 1363 .sff_check_status = bfin_check_status,
1364 .check_altstatus = bfin_check_altstatus, 1364 .sff_check_altstatus = bfin_check_altstatus,
1365 .dev_select = bfin_dev_select, 1365 .sff_dev_select = bfin_dev_select,
1366 1366
1367 .bmdma_setup = bfin_bmdma_setup, 1367 .bmdma_setup = bfin_bmdma_setup,
1368 .bmdma_start = bfin_bmdma_start, 1368 .bmdma_start = bfin_bmdma_start,
1369 .bmdma_stop = bfin_bmdma_stop, 1369 .bmdma_stop = bfin_bmdma_stop,
1370 .bmdma_status = bfin_bmdma_status, 1370 .bmdma_status = bfin_bmdma_status,
1371 .data_xfer = bfin_data_xfer, 1371 .sff_data_xfer = bfin_data_xfer,
1372 1372
1373 .qc_prep = ata_noop_qc_prep, 1373 .qc_prep = ata_noop_qc_prep,
1374 1374
@@ -1378,8 +1378,8 @@ static const struct ata_port_operations bfin_pata_ops = {
1378 .postreset = bfin_postreset, 1378 .postreset = bfin_postreset,
1379 .post_internal_cmd = bfin_bmdma_stop, 1379 .post_internal_cmd = bfin_bmdma_stop,
1380 1380
1381 .irq_clear = bfin_irq_clear, 1381 .sff_irq_clear = bfin_irq_clear,
1382 .irq_on = bfin_irq_on, 1382 .sff_irq_on = bfin_irq_on,
1383 1383
1384 .port_start = bfin_port_start, 1384 .port_start = bfin_port_start,
1385 .port_stop = bfin_port_stop, 1385 .port_stop = bfin_port_stop,
diff --git a/drivers/ata/pata_cmd640.c b/drivers/ata/pata_cmd640.c
index a907cf478891..2de30b990278 100644
--- a/drivers/ata/pata_cmd640.c
+++ b/drivers/ata/pata_cmd640.c
@@ -172,7 +172,7 @@ static struct scsi_host_template cmd640_sht = {
172static struct ata_port_operations cmd640_port_ops = { 172static struct ata_port_operations cmd640_port_ops = {
173 .inherits = &ata_bmdma_port_ops, 173 .inherits = &ata_bmdma_port_ops,
174 /* In theory xfer_noirq is not needed once we kill the prefetcher */ 174 /* In theory xfer_noirq is not needed once we kill the prefetcher */
175 .data_xfer = ata_sff_data_xfer_noirq, 175 .sff_data_xfer = ata_sff_data_xfer_noirq,
176 .qc_issue = cmd640_qc_issue, 176 .qc_issue = cmd640_qc_issue,
177 .cable_detect = ata_cable_40wire, 177 .cable_detect = ata_cable_40wire,
178 .set_piomode = cmd640_set_piomode, 178 .set_piomode = cmd640_set_piomode,
diff --git a/drivers/ata/pata_icside.c b/drivers/ata/pata_icside.c
index 52de9f908fb0..17138436423d 100644
--- a/drivers/ata/pata_icside.c
+++ b/drivers/ata/pata_icside.c
@@ -250,7 +250,7 @@ static void pata_icside_bmdma_setup(struct ata_queued_cmd *qc)
250 set_dma_mode(state->dma, write ? DMA_MODE_WRITE : DMA_MODE_READ); 250 set_dma_mode(state->dma, write ? DMA_MODE_WRITE : DMA_MODE_READ);
251 251
252 /* issue r/w command */ 252 /* issue r/w command */
253 ap->ops->exec_command(ap, &qc->tf); 253 ap->ops->sff_exec_command(ap, &qc->tf);
254} 254}
255 255
256static void pata_icside_bmdma_start(struct ata_queued_cmd *qc) 256static void pata_icside_bmdma_start(struct ata_queued_cmd *qc)
@@ -336,7 +336,7 @@ static struct ata_port_operations pata_icside_port_ops = {
336 .inherits = &ata_sff_port_ops, 336 .inherits = &ata_sff_port_ops,
337 /* no need to build any PRD tables for DMA */ 337 /* no need to build any PRD tables for DMA */
338 .qc_prep = ata_noop_qc_prep, 338 .qc_prep = ata_noop_qc_prep,
339 .data_xfer = ata_sff_data_xfer_noirq, 339 .sff_data_xfer = ata_sff_data_xfer_noirq,
340 .bmdma_setup = pata_icside_bmdma_setup, 340 .bmdma_setup = pata_icside_bmdma_setup,
341 .bmdma_start = pata_icside_bmdma_start, 341 .bmdma_start = pata_icside_bmdma_start,
342 .bmdma_stop = pata_icside_bmdma_stop, 342 .bmdma_stop = pata_icside_bmdma_stop,
diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c
index 88e37cfcfc4f..e10816931b2f 100644
--- a/drivers/ata/pata_it821x.c
+++ b/drivers/ata/pata_it821x.c
@@ -652,7 +652,7 @@ static struct ata_port_operations it821x_passthru_port_ops = {
652 .inherits = &ata_bmdma_port_ops, 652 .inherits = &ata_bmdma_port_ops,
653 653
654 .check_atapi_dma= it821x_check_atapi_dma, 654 .check_atapi_dma= it821x_check_atapi_dma,
655 .dev_select = it821x_passthru_dev_select, 655 .sff_dev_select = it821x_passthru_dev_select,
656 .bmdma_start = it821x_passthru_bmdma_start, 656 .bmdma_start = it821x_passthru_bmdma_start,
657 .bmdma_stop = it821x_passthru_bmdma_stop, 657 .bmdma_stop = it821x_passthru_bmdma_stop,
658 .qc_issue = it821x_passthru_qc_issue, 658 .qc_issue = it821x_passthru_qc_issue,
diff --git a/drivers/ata/pata_ixp4xx_cf.c b/drivers/ata/pata_ixp4xx_cf.c
index 283a8fba79b3..8a175f23b907 100644
--- a/drivers/ata/pata_ixp4xx_cf.c
+++ b/drivers/ata/pata_ixp4xx_cf.c
@@ -93,7 +93,7 @@ static struct scsi_host_template ixp4xx_sht = {
93 93
94static struct ata_port_operations ixp4xx_port_ops = { 94static struct ata_port_operations ixp4xx_port_ops = {
95 .inherits = &ata_sff_port_ops, 95 .inherits = &ata_sff_port_ops,
96 .data_xfer = ixp4xx_mmio_data_xfer, 96 .sff_data_xfer = ixp4xx_mmio_data_xfer,
97 .cable_detect = ata_cable_40wire, 97 .cable_detect = ata_cable_40wire,
98 .set_mode = ixp4xx_set_mode, 98 .set_mode = ixp4xx_set_mode,
99}; 99};
diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c
index f13f10a55ef3..7af4b29cc422 100644
--- a/drivers/ata/pata_legacy.c
+++ b/drivers/ata/pata_legacy.c
@@ -226,12 +226,12 @@ static const struct ata_port_operations legacy_base_port_ops = {
226 226
227static struct ata_port_operations simple_port_ops = { 227static struct ata_port_operations simple_port_ops = {
228 .inherits = &legacy_base_port_ops, 228 .inherits = &legacy_base_port_ops,
229 .data_xfer = ata_sff_data_xfer_noirq, 229 .sff_data_xfer = ata_sff_data_xfer_noirq,
230}; 230};
231 231
232static struct ata_port_operations legacy_port_ops = { 232static struct ata_port_operations legacy_port_ops = {
233 .inherits = &legacy_base_port_ops, 233 .inherits = &legacy_base_port_ops,
234 .data_xfer = ata_sff_data_xfer_noirq, 234 .sff_data_xfer = ata_sff_data_xfer_noirq,
235 .set_mode = legacy_set_mode, 235 .set_mode = legacy_set_mode,
236}; 236};
237 237
@@ -325,7 +325,7 @@ static unsigned int pdc_data_xfer_vlb(struct ata_device *dev,
325static struct ata_port_operations pdc20230_port_ops = { 325static struct ata_port_operations pdc20230_port_ops = {
326 .inherits = &legacy_base_port_ops, 326 .inherits = &legacy_base_port_ops,
327 .set_piomode = pdc20230_set_piomode, 327 .set_piomode = pdc20230_set_piomode,
328 .data_xfer = pdc_data_xfer_vlb, 328 .sff_data_xfer = pdc_data_xfer_vlb,
329}; 329};
330 330
331/* 331/*
@@ -775,19 +775,19 @@ static struct ata_port_operations qdi6500_port_ops = {
775 .inherits = &legacy_base_port_ops, 775 .inherits = &legacy_base_port_ops,
776 .set_piomode = qdi6500_set_piomode, 776 .set_piomode = qdi6500_set_piomode,
777 .qc_issue = qdi_qc_issue, 777 .qc_issue = qdi_qc_issue,
778 .data_xfer = vlb32_data_xfer, 778 .sff_data_xfer = vlb32_data_xfer,
779}; 779};
780 780
781static struct ata_port_operations qdi6580_port_ops = { 781static struct ata_port_operations qdi6580_port_ops = {
782 .inherits = &legacy_base_port_ops, 782 .inherits = &legacy_base_port_ops,
783 .set_piomode = qdi6580_set_piomode, 783 .set_piomode = qdi6580_set_piomode,
784 .data_xfer = vlb32_data_xfer, 784 .sff_data_xfer = vlb32_data_xfer,
785}; 785};
786 786
787static struct ata_port_operations qdi6580dp_port_ops = { 787static struct ata_port_operations qdi6580dp_port_ops = {
788 .inherits = &legacy_base_port_ops, 788 .inherits = &legacy_base_port_ops,
789 .set_piomode = qdi6580dp_set_piomode, 789 .set_piomode = qdi6580dp_set_piomode,
790 .data_xfer = vlb32_data_xfer, 790 .sff_data_xfer = vlb32_data_xfer,
791}; 791};
792 792
793static DEFINE_SPINLOCK(winbond_lock); 793static DEFINE_SPINLOCK(winbond_lock);
@@ -858,7 +858,7 @@ static int winbond_port(struct platform_device *dev,
858static struct ata_port_operations winbond_port_ops = { 858static struct ata_port_operations winbond_port_ops = {
859 .inherits = &legacy_base_port_ops, 859 .inherits = &legacy_base_port_ops,
860 .set_piomode = winbond_set_piomode, 860 .set_piomode = winbond_set_piomode,
861 .data_xfer = vlb32_data_xfer, 861 .sff_data_xfer = vlb32_data_xfer,
862}; 862};
863 863
864static struct legacy_controller controllers[] = { 864static struct legacy_controller controllers[] = {
diff --git a/drivers/ata/pata_mpc52xx.c b/drivers/ata/pata_mpc52xx.c
index 5d1d32a39c4d..bc79df6e7cb0 100644
--- a/drivers/ata/pata_mpc52xx.c
+++ b/drivers/ata/pata_mpc52xx.c
@@ -261,7 +261,7 @@ static struct scsi_host_template mpc52xx_ata_sht = {
261 261
262static struct ata_port_operations mpc52xx_ata_port_ops = { 262static struct ata_port_operations mpc52xx_ata_port_ops = {
263 .inherits = &ata_sff_port_ops, 263 .inherits = &ata_sff_port_ops,
264 .dev_select = mpc52xx_ata_dev_select, 264 .sff_dev_select = mpc52xx_ata_dev_select,
265 .cable_detect = ata_cable_40wire, 265 .cable_detect = ata_cable_40wire,
266 .set_piomode = mpc52xx_ata_set_piomode, 266 .set_piomode = mpc52xx_ata_set_piomode,
267 .post_internal_cmd = ATA_OP_NULL, 267 .post_internal_cmd = ATA_OP_NULL,
diff --git a/drivers/ata/pata_ninja32.c b/drivers/ata/pata_ninja32.c
index c9c0ea67c71a..565e67cd13fa 100644
--- a/drivers/ata/pata_ninja32.c
+++ b/drivers/ata/pata_ninja32.c
@@ -84,7 +84,7 @@ static struct scsi_host_template ninja32_sht = {
84 84
85static struct ata_port_operations ninja32_port_ops = { 85static struct ata_port_operations ninja32_port_ops = {
86 .inherits = &ata_bmdma_port_ops, 86 .inherits = &ata_bmdma_port_ops,
87 .dev_select = ninja32_dev_select, 87 .sff_dev_select = ninja32_dev_select,
88 .cable_detect = ata_cable_40wire, 88 .cable_detect = ata_cable_40wire,
89 .set_piomode = ninja32_set_piomode, 89 .set_piomode = ninja32_set_piomode,
90}; 90};
diff --git a/drivers/ata/pata_ns87415.c b/drivers/ata/pata_ns87415.c
index 03a52cefc010..ae92b0049bd5 100644
--- a/drivers/ata/pata_ns87415.c
+++ b/drivers/ata/pata_ns87415.c
@@ -138,7 +138,7 @@ static void ns87415_bmdma_setup(struct ata_queued_cmd *qc)
138 dmactl |= ATA_DMA_WR; 138 dmactl |= ATA_DMA_WR;
139 iowrite8(dmactl, ap->ioaddr.bmdma_addr + ATA_DMA_CMD); 139 iowrite8(dmactl, ap->ioaddr.bmdma_addr + ATA_DMA_CMD);
140 /* issue r/w command */ 140 /* issue r/w command */
141 ap->ops->exec_command(ap, &qc->tf); 141 ap->ops->sff_exec_command(ap, &qc->tf);
142} 142}
143 143
144/** 144/**
@@ -306,7 +306,7 @@ static struct ata_port_operations ns87415_pata_ops = {
306 .bmdma_setup = ns87415_bmdma_setup, 306 .bmdma_setup = ns87415_bmdma_setup,
307 .bmdma_start = ns87415_bmdma_start, 307 .bmdma_start = ns87415_bmdma_start,
308 .bmdma_stop = ns87415_bmdma_stop, 308 .bmdma_stop = ns87415_bmdma_stop,
309 .irq_clear = ns87415_irq_clear, 309 .sff_irq_clear = ns87415_irq_clear,
310 310
311 .cable_detect = ata_cable_40wire, 311 .cable_detect = ata_cable_40wire,
312 .set_piomode = ns87415_set_piomode, 312 .set_piomode = ns87415_set_piomode,
@@ -315,8 +315,8 @@ static struct ata_port_operations ns87415_pata_ops = {
315#if defined(CONFIG_SUPERIO) 315#if defined(CONFIG_SUPERIO)
316static struct ata_port_operations ns87560_pata_ops = { 316static struct ata_port_operations ns87560_pata_ops = {
317 .inherits = &ns87415_pata_ops, 317 .inherits = &ns87415_pata_ops,
318 .tf_read = ns87560_tf_read, 318 .sff_tf_read = ns87560_tf_read,
319 .check_status = ns87560_check_status, 319 .sff_check_status = ns87560_check_status,
320 .bmdma_status = ns87560_bmdma_status, 320 .bmdma_status = ns87560_bmdma_status,
321}; 321};
322#endif 322#endif
diff --git a/drivers/ata/pata_pcmcia.c b/drivers/ata/pata_pcmcia.c
index 2e206c5f869a..3d39f9dfec5a 100644
--- a/drivers/ata/pata_pcmcia.c
+++ b/drivers/ata/pata_pcmcia.c
@@ -133,14 +133,14 @@ static struct scsi_host_template pcmcia_sht = {
133 133
134static struct ata_port_operations pcmcia_port_ops = { 134static struct ata_port_operations pcmcia_port_ops = {
135 .inherits = &ata_sff_port_ops, 135 .inherits = &ata_sff_port_ops,
136 .data_xfer = ata_sff_data_xfer_noirq, 136 .sff_data_xfer = ata_sff_data_xfer_noirq,
137 .cable_detect = ata_cable_40wire, 137 .cable_detect = ata_cable_40wire,
138 .set_mode = pcmcia_set_mode, 138 .set_mode = pcmcia_set_mode,
139}; 139};
140 140
141static struct ata_port_operations pcmcia_8bit_port_ops = { 141static struct ata_port_operations pcmcia_8bit_port_ops = {
142 .inherits = &ata_sff_port_ops, 142 .inherits = &ata_sff_port_ops,
143 .data_xfer = ata_data_xfer_8bit, 143 .sff_data_xfer = ata_data_xfer_8bit,
144 .cable_detect = ata_cable_40wire, 144 .cable_detect = ata_cable_40wire,
145 .set_mode = pcmcia_set_mode_8bit, 145 .set_mode = pcmcia_set_mode_8bit,
146}; 146};
diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c
index 1edfc13d05d2..6527c56c34a3 100644
--- a/drivers/ata/pata_platform.c
+++ b/drivers/ata/pata_platform.c
@@ -52,7 +52,7 @@ static struct scsi_host_template pata_platform_sht = {
52 52
53static struct ata_port_operations pata_platform_port_ops = { 53static struct ata_port_operations pata_platform_port_ops = {
54 .inherits = &ata_sff_port_ops, 54 .inherits = &ata_sff_port_ops,
55 .data_xfer = ata_sff_data_xfer_noirq, 55 .sff_data_xfer = ata_sff_data_xfer_noirq,
56 .cable_detect = ata_cable_unknown, 56 .cable_detect = ata_cable_unknown,
57 .set_mode = pata_platform_set_mode, 57 .set_mode = pata_platform_set_mode,
58 .port_start = ATA_OP_NULL, 58 .port_start = ATA_OP_NULL,
diff --git a/drivers/ata/pata_qdi.c b/drivers/ata/pata_qdi.c
index 0d81dd5fdc38..bf45cf017753 100644
--- a/drivers/ata/pata_qdi.c
+++ b/drivers/ata/pata_qdi.c
@@ -160,7 +160,7 @@ static struct scsi_host_template qdi_sht = {
160static struct ata_port_operations qdi6500_port_ops = { 160static struct ata_port_operations qdi6500_port_ops = {
161 .inherits = &ata_sff_port_ops, 161 .inherits = &ata_sff_port_ops,
162 .qc_issue = qdi_qc_issue, 162 .qc_issue = qdi_qc_issue,
163 .data_xfer = qdi_data_xfer, 163 .sff_data_xfer = qdi_data_xfer,
164 .cable_detect = ata_cable_40wire, 164 .cable_detect = ata_cable_40wire,
165 .set_piomode = qdi6500_set_piomode, 165 .set_piomode = qdi6500_set_piomode,
166}; 166};
diff --git a/drivers/ata/pata_rb500_cf.c b/drivers/ata/pata_rb500_cf.c
index 5b23d79bc92b..800ae4601f44 100644
--- a/drivers/ata/pata_rb500_cf.c
+++ b/drivers/ata/pata_rb500_cf.c
@@ -119,8 +119,8 @@ static irqreturn_t rb500_pata_irq_handler(int irq, void *dev_instance)
119 119
120static struct ata_port_operations rb500_pata_port_ops = { 120static struct ata_port_operations rb500_pata_port_ops = {
121 .inherits = &ata_sff_port_ops, 121 .inherits = &ata_sff_port_ops,
122 .exec_command = rb500_pata_exec_command, 122 .sff_exec_command = rb500_pata_exec_command,
123 .data_xfer = rb500_pata_data_xfer, 123 .sff_data_xfer = rb500_pata_data_xfer,
124 .freeze = rb500_pata_freeze, 124 .freeze = rb500_pata_freeze,
125 .thaw = rb500_pata_thaw, 125 .thaw = rb500_pata_thaw,
126}; 126};
diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c
index 701d0addae73..2b9da715c704 100644
--- a/drivers/ata/pata_scc.c
+++ b/drivers/ata/pata_scc.c
@@ -441,7 +441,7 @@ static void scc_bmdma_setup (struct ata_queued_cmd *qc)
441 out_be32(mmio + SCC_DMA_CMD, dmactl); 441 out_be32(mmio + SCC_DMA_CMD, dmactl);
442 442
443 /* issue r/w command */ 443 /* issue r/w command */
444 ap->ops->exec_command(ap, &qc->tf); 444 ap->ops->sff_exec_command(ap, &qc->tf);
445} 445}
446 446
447/** 447/**
@@ -476,7 +476,7 @@ static unsigned int scc_devchk (struct ata_port *ap,
476 struct ata_ioports *ioaddr = &ap->ioaddr; 476 struct ata_ioports *ioaddr = &ap->ioaddr;
477 u8 nsect, lbal; 477 u8 nsect, lbal;
478 478
479 ap->ops->dev_select(ap, device); 479 ap->ops->sff_dev_select(ap, device);
480 480
481 out_be32(ioaddr->nsect_addr, 0x55); 481 out_be32(ioaddr->nsect_addr, 0x55);
482 out_be32(ioaddr->lbal_addr, 0xaa); 482 out_be32(ioaddr->lbal_addr, 0xaa);
@@ -525,7 +525,7 @@ static int scc_bus_post_reset(struct ata_port *ap, unsigned int devmask,
525 while (dev1) { 525 while (dev1) {
526 u8 nsect, lbal; 526 u8 nsect, lbal;
527 527
528 ap->ops->dev_select(ap, 1); 528 ap->ops->sff_dev_select(ap, 1);
529 nsect = in_be32(ioaddr->nsect_addr); 529 nsect = in_be32(ioaddr->nsect_addr);
530 lbal = in_be32(ioaddr->lbal_addr); 530 lbal = in_be32(ioaddr->lbal_addr);
531 if ((nsect == 1) && (lbal == 1)) 531 if ((nsect == 1) && (lbal == 1))
@@ -541,11 +541,11 @@ static int scc_bus_post_reset(struct ata_port *ap, unsigned int devmask,
541 } 541 }
542 542
543 /* is all this really necessary? */ 543 /* is all this really necessary? */
544 ap->ops->dev_select(ap, 0); 544 ap->ops->sff_dev_select(ap, 0);
545 if (dev1) 545 if (dev1)
546 ap->ops->dev_select(ap, 1); 546 ap->ops->sff_dev_select(ap, 1);
547 if (dev0) 547 if (dev0)
548 ap->ops->dev_select(ap, 0); 548 ap->ops->sff_dev_select(ap, 0);
549 549
550 return 0; 550 return 0;
551} 551}
@@ -616,7 +616,7 @@ static int scc_softreset(struct ata_link *link, unsigned int *classes,
616 devmask |= (1 << 1); 616 devmask |= (1 << 1);
617 617
618 /* select device 0 again */ 618 /* select device 0 again */
619 ap->ops->dev_select(ap, 0); 619 ap->ops->sff_dev_select(ap, 0);
620 620
621 /* issue bus reset */ 621 /* issue bus reset */
622 DPRINTK("about to softreset, devmask=%x\n", devmask); 622 DPRINTK("about to softreset, devmask=%x\n", devmask);
@@ -829,7 +829,7 @@ static u8 scc_irq_on (struct ata_port *ap)
829 out_be32(ioaddr->ctl_addr, ap->ctl); 829 out_be32(ioaddr->ctl_addr, ap->ctl);
830 tmp = ata_wait_idle(ap); 830 tmp = ata_wait_idle(ap);
831 831
832 ap->ops->irq_clear(ap); 832 ap->ops->sff_irq_clear(ap);
833 833
834 return tmp; 834 return tmp;
835} 835}
@@ -854,9 +854,9 @@ static void scc_freeze (struct ata_port *ap)
854 * ATA_NIEN manipulation. Also, many controllers fail to mask 854 * ATA_NIEN manipulation. Also, many controllers fail to mask
855 * previously pending IRQ on ATA_NIEN assertion. Clear it. 855 * previously pending IRQ on ATA_NIEN assertion. Clear it.
856 */ 856 */
857 ap->ops->check_status(ap); 857 ap->ops->sff_check_status(ap);
858 858
859 ap->ops->irq_clear(ap); 859 ap->ops->sff_irq_clear(ap);
860} 860}
861 861
862/** 862/**
@@ -887,9 +887,9 @@ static void scc_postreset(struct ata_link *link, unsigned int *classes)
887 887
888 /* is double-select really necessary? */ 888 /* is double-select really necessary? */
889 if (classes[0] != ATA_DEV_NONE) 889 if (classes[0] != ATA_DEV_NONE)
890 ap->ops->dev_select(ap, 1); 890 ap->ops->sff_dev_select(ap, 1);
891 if (classes[1] != ATA_DEV_NONE) 891 if (classes[1] != ATA_DEV_NONE)
892 ap->ops->dev_select(ap, 0); 892 ap->ops->sff_dev_select(ap, 0);
893 893
894 /* bail out if no device is present */ 894 /* bail out if no device is present */
895 if (classes[0] == ATA_DEV_NONE && classes[1] == ATA_DEV_NONE) { 895 if (classes[0] == ATA_DEV_NONE && classes[1] == ATA_DEV_NONE) {
@@ -967,18 +967,18 @@ static struct ata_port_operations scc_pata_ops = {
967 .set_dmamode = scc_set_dmamode, 967 .set_dmamode = scc_set_dmamode,
968 .mode_filter = scc_mode_filter, 968 .mode_filter = scc_mode_filter,
969 969
970 .tf_load = scc_tf_load, 970 .sff_tf_load = scc_tf_load,
971 .tf_read = scc_tf_read, 971 .sff_tf_read = scc_tf_read,
972 .exec_command = scc_exec_command, 972 .sff_exec_command = scc_exec_command,
973 .check_status = scc_check_status, 973 .sff_check_status = scc_check_status,
974 .check_altstatus = scc_check_altstatus, 974 .sff_check_altstatus = scc_check_altstatus,
975 .dev_select = scc_dev_select, 975 .sff_dev_select = scc_dev_select,
976 976
977 .bmdma_setup = scc_bmdma_setup, 977 .bmdma_setup = scc_bmdma_setup,
978 .bmdma_start = scc_bmdma_start, 978 .bmdma_start = scc_bmdma_start,
979 .bmdma_stop = scc_bmdma_stop, 979 .bmdma_stop = scc_bmdma_stop,
980 .bmdma_status = scc_bmdma_status, 980 .bmdma_status = scc_bmdma_status,
981 .data_xfer = scc_data_xfer, 981 .sff_data_xfer = scc_data_xfer,
982 982
983 .freeze = scc_freeze, 983 .freeze = scc_freeze,
984 .prereset = scc_pata_prereset, 984 .prereset = scc_pata_prereset,
@@ -986,8 +986,8 @@ static struct ata_port_operations scc_pata_ops = {
986 .postreset = scc_postreset, 986 .postreset = scc_postreset,
987 .post_internal_cmd = scc_bmdma_stop, 987 .post_internal_cmd = scc_bmdma_stop,
988 988
989 .irq_clear = scc_irq_clear, 989 .sff_irq_clear = scc_irq_clear,
990 .irq_on = scc_irq_on, 990 .sff_irq_on = scc_irq_on,
991 991
992 .port_start = scc_port_start, 992 .port_start = scc_port_start,
993 .port_stop = scc_port_stop, 993 .port_stop = scc_port_stop,
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c
index 4b85f84fbe76..d4840748fb5c 100644
--- a/drivers/ata/pata_via.c
+++ b/drivers/ata/pata_via.c
@@ -336,7 +336,7 @@ static struct ata_port_operations via_port_ops = {
336 336
337static struct ata_port_operations via_port_ops_noirq = { 337static struct ata_port_operations via_port_ops_noirq = {
338 .inherits = &via_port_ops, 338 .inherits = &via_port_ops,
339 .data_xfer = ata_sff_data_xfer_noirq, 339 .sff_data_xfer = ata_sff_data_xfer_noirq,
340}; 340};
341 341
342/** 342/**
diff --git a/drivers/ata/pata_winbond.c b/drivers/ata/pata_winbond.c
index cc18231e9334..6e52a3573fbf 100644
--- a/drivers/ata/pata_winbond.c
+++ b/drivers/ata/pata_winbond.c
@@ -127,7 +127,7 @@ static struct scsi_host_template winbond_sht = {
127 127
128static struct ata_port_operations winbond_port_ops = { 128static struct ata_port_operations winbond_port_ops = {
129 .inherits = &ata_sff_port_ops, 129 .inherits = &ata_sff_port_ops,
130 .data_xfer = winbond_data_xfer, 130 .sff_data_xfer = winbond_data_xfer,
131 .cable_detect = ata_cable_40wire, 131 .cable_detect = ata_cable_40wire,
132 .set_piomode = winbond_set_piomode, 132 .set_piomode = winbond_set_piomode,
133}; 133};
diff --git a/drivers/ata/sata_fsl.c b/drivers/ata/sata_fsl.c
index 676302fdaa97..37482d4e883f 100644
--- a/drivers/ata/sata_fsl.c
+++ b/drivers/ata/sata_fsl.c
@@ -1190,10 +1190,10 @@ static struct scsi_host_template sata_fsl_sht = {
1190static const struct ata_port_operations sata_fsl_ops = { 1190static const struct ata_port_operations sata_fsl_ops = {
1191 .inherits = &sata_port_ops, 1191 .inherits = &sata_port_ops,
1192 1192
1193 .check_status = sata_fsl_check_status, 1193 .sff_check_status = sata_fsl_check_status,
1194 .check_altstatus = sata_fsl_check_status, 1194 .sff_check_altstatus = sata_fsl_check_status,
1195 1195
1196 .tf_read = sata_fsl_tf_read, 1196 .sff_tf_read = sata_fsl_tf_read,
1197 1197
1198 .qc_prep = sata_fsl_qc_prep, 1198 .qc_prep = sata_fsl_qc_prep,
1199 .qc_issue = sata_fsl_qc_issue, 1199 .qc_issue = sata_fsl_qc_issue,
diff --git a/drivers/ata/sata_inic162x.c b/drivers/ata/sata_inic162x.c
index 6e6fca4c20b6..0b5a736a45e3 100644
--- a/drivers/ata/sata_inic162x.c
+++ b/drivers/ata/sata_inic162x.c
@@ -222,7 +222,7 @@ static void inic_bmdma_setup(struct ata_queued_cmd *qc)
222 writeb(pp->cached_prdctl, port_base + PORT_PRD_CTL); 222 writeb(pp->cached_prdctl, port_base + PORT_PRD_CTL);
223 223
224 /* issue r/w command */ 224 /* issue r/w command */
225 ap->ops->exec_command(ap, &qc->tf); 225 ap->ops->sff_exec_command(ap, &qc->tf);
226} 226}
227 227
228static void inic_bmdma_start(struct ata_queued_cmd *qc) 228static void inic_bmdma_start(struct ata_queued_cmd *qc)
@@ -267,14 +267,14 @@ static void inic_host_intr(struct ata_port *ap)
267 ata_qc_from_tag(ap, ap->link.active_tag); 267 ata_qc_from_tag(ap, ap->link.active_tag);
268 268
269 if (unlikely(!qc || (qc->tf.flags & ATA_TFLAG_POLLING))) { 269 if (unlikely(!qc || (qc->tf.flags & ATA_TFLAG_POLLING))) {
270 ap->ops->check_status(ap); /* clear ATA interrupt */ 270 ap->ops->sff_check_status(ap); /* clear ATA interrupt */
271 return; 271 return;
272 } 272 }
273 273
274 if (likely(ata_sff_host_intr(ap, qc))) 274 if (likely(ata_sff_host_intr(ap, qc)))
275 return; 275 return;
276 276
277 ap->ops->check_status(ap); /* clear ATA interrupt */ 277 ap->ops->sff_check_status(ap); /* clear ATA interrupt */
278 ata_port_printk(ap, KERN_WARNING, "unhandled " 278 ata_port_printk(ap, KERN_WARNING, "unhandled "
279 "interrupt, irq_stat=%x\n", irq_stat); 279 "interrupt, irq_stat=%x\n", irq_stat);
280 return; 280 return;
@@ -351,7 +351,7 @@ static unsigned int inic_qc_issue(struct ata_queued_cmd *qc)
351 */ 351 */
352 if (unlikely(qc->tf.command == ATA_CMD_ID_ATA || 352 if (unlikely(qc->tf.command == ATA_CMD_ID_ATA ||
353 qc->tf.command == ATA_CMD_ID_ATAPI)) { 353 qc->tf.command == ATA_CMD_ID_ATAPI)) {
354 u8 stat = ap->ops->check_status(ap); 354 u8 stat = ap->ops->sff_check_status(ap);
355 if (stat == 0x7f || stat == 0xff) 355 if (stat == 0x7f || stat == 0xff)
356 return AC_ERR_HSM; 356 return AC_ERR_HSM;
357 } 357 }
@@ -365,7 +365,7 @@ static void inic_freeze(struct ata_port *ap)
365 365
366 __inic_set_pirq_mask(ap, PIRQ_MASK_FREEZE); 366 __inic_set_pirq_mask(ap, PIRQ_MASK_FREEZE);
367 367
368 ap->ops->check_status(ap); 368 ap->ops->sff_check_status(ap);
369 writeb(0xff, port_base + PORT_IRQ_STAT); 369 writeb(0xff, port_base + PORT_IRQ_STAT);
370 370
371 readb(port_base + PORT_IRQ_STAT); /* flush */ 371 readb(port_base + PORT_IRQ_STAT); /* flush */
@@ -375,7 +375,7 @@ static void inic_thaw(struct ata_port *ap)
375{ 375{
376 void __iomem *port_base = inic_port_base(ap); 376 void __iomem *port_base = inic_port_base(ap);
377 377
378 ap->ops->check_status(ap); 378 ap->ops->sff_check_status(ap);
379 writeb(0xff, port_base + PORT_IRQ_STAT); 379 writeb(0xff, port_base + PORT_IRQ_STAT);
380 380
381 __inic_set_pirq_mask(ap, PIRQ_MASK_OTHER); 381 __inic_set_pirq_mask(ap, PIRQ_MASK_OTHER);
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index 63cc43765f04..109b07495721 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -429,11 +429,11 @@ static struct ata_port_operations nv_adma_ops = {
429 .inherits = &nv_generic_ops, 429 .inherits = &nv_generic_ops,
430 430
431 .check_atapi_dma = nv_adma_check_atapi_dma, 431 .check_atapi_dma = nv_adma_check_atapi_dma,
432 .tf_read = nv_adma_tf_read, 432 .sff_tf_read = nv_adma_tf_read,
433 .qc_defer = ata_std_qc_defer, 433 .qc_defer = ata_std_qc_defer,
434 .qc_prep = nv_adma_qc_prep, 434 .qc_prep = nv_adma_qc_prep,
435 .qc_issue = nv_adma_qc_issue, 435 .qc_issue = nv_adma_qc_issue,
436 .irq_clear = nv_adma_irq_clear, 436 .sff_irq_clear = nv_adma_irq_clear,
437 437
438 .freeze = nv_adma_freeze, 438 .freeze = nv_adma_freeze,
439 .thaw = nv_adma_thaw, 439 .thaw = nv_adma_thaw,
@@ -1440,7 +1440,7 @@ static irqreturn_t nv_generic_interrupt(int irq, void *dev_instance)
1440 else 1440 else
1441 // No request pending? Clear interrupt status 1441 // No request pending? Clear interrupt status
1442 // anyway, in case there's one pending. 1442 // anyway, in case there's one pending.
1443 ap->ops->check_status(ap); 1443 ap->ops->sff_check_status(ap);
1444 } 1444 }
1445 1445
1446 } 1446 }
@@ -1739,7 +1739,7 @@ static void nv_swncq_ncq_stop(struct ata_port *ap)
1739 pp->dhfis_bits, pp->dmafis_bits, pp->sdbfis_bits); 1739 pp->dhfis_bits, pp->dmafis_bits, pp->sdbfis_bits);
1740 1740
1741 ata_port_printk(ap, KERN_ERR, "ATA_REG 0x%X ERR_REG 0x%X\n", 1741 ata_port_printk(ap, KERN_ERR, "ATA_REG 0x%X ERR_REG 0x%X\n",
1742 ap->ops->check_status(ap), 1742 ap->ops->sff_check_status(ap),
1743 ioread8(ap->ioaddr.error_addr)); 1743 ioread8(ap->ioaddr.error_addr));
1744 1744
1745 sactive = readl(pp->sactive_block); 1745 sactive = readl(pp->sactive_block);
@@ -1765,7 +1765,7 @@ static void nv_swncq_ncq_stop(struct ata_port *ap)
1765 } 1765 }
1766 1766
1767 nv_swncq_pp_reinit(ap); 1767 nv_swncq_pp_reinit(ap);
1768 ap->ops->irq_clear(ap); 1768 ap->ops->sff_irq_clear(ap);
1769 __ata_bmdma_stop(ap); 1769 __ata_bmdma_stop(ap);
1770 nv_swncq_irq_clear(ap, 0xffff); 1770 nv_swncq_irq_clear(ap, 0xffff);
1771} 1771}
@@ -1987,8 +1987,8 @@ static unsigned int nv_swncq_issue_atacmd(struct ata_port *ap,
1987 pp->dmafis_bits &= ~(1 << qc->tag); 1987 pp->dmafis_bits &= ~(1 << qc->tag);
1988 pp->qc_active |= (0x1 << qc->tag); 1988 pp->qc_active |= (0x1 << qc->tag);
1989 1989
1990 ap->ops->tf_load(ap, &qc->tf); /* load tf registers */ 1990 ap->ops->sff_tf_load(ap, &qc->tf); /* load tf registers */
1991 ap->ops->exec_command(ap, &qc->tf); 1991 ap->ops->sff_exec_command(ap, &qc->tf);
1992 1992
1993 DPRINTK("Issued tag %u\n", qc->tag); 1993 DPRINTK("Issued tag %u\n", qc->tag);
1994 1994
@@ -2060,7 +2060,7 @@ static int nv_swncq_sdbfis(struct ata_port *ap)
2060 return -EINVAL; 2060 return -EINVAL;
2061 } 2061 }
2062 2062
2063 ap->ops->irq_clear(ap); 2063 ap->ops->sff_irq_clear(ap);
2064 __ata_bmdma_stop(ap); 2064 __ata_bmdma_stop(ap);
2065 2065
2066 sactive = readl(pp->sactive_block); 2066 sactive = readl(pp->sactive_block);
@@ -2182,7 +2182,7 @@ static void nv_swncq_host_interrupt(struct ata_port *ap, u16 fis)
2182 u8 ata_stat; 2182 u8 ata_stat;
2183 int rc = 0; 2183 int rc = 0;
2184 2184
2185 ata_stat = ap->ops->check_status(ap); 2185 ata_stat = ap->ops->sff_check_status(ap);
2186 nv_swncq_irq_clear(ap, fis); 2186 nv_swncq_irq_clear(ap, fis);
2187 if (!fis) 2187 if (!fis)
2188 return; 2188 return;
@@ -2245,7 +2245,7 @@ static void nv_swncq_host_interrupt(struct ata_port *ap, u16 fis)
2245 2245
2246 if (!(fis & NV_SWNCQ_IRQ_DMASETUP) && 2246 if (!(fis & NV_SWNCQ_IRQ_DMASETUP) &&
2247 !(pp->ncq_flags & ncq_saw_dmas)) { 2247 !(pp->ncq_flags & ncq_saw_dmas)) {
2248 ata_stat = ap->ops->check_status(ap); 2248 ata_stat = ap->ops->sff_check_status(ap);
2249 if (ata_stat & ATA_BUSY) 2249 if (ata_stat & ATA_BUSY)
2250 goto irq_exit; 2250 goto irq_exit;
2251 2251
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c
index 9923e860eae3..5a10dc5048ad 100644
--- a/drivers/ata/sata_promise.c
+++ b/drivers/ata/sata_promise.c
@@ -162,12 +162,12 @@ static struct scsi_host_template pdc_ata_sht = {
162static const struct ata_port_operations pdc_common_ops = { 162static const struct ata_port_operations pdc_common_ops = {
163 .inherits = &ata_sff_port_ops, 163 .inherits = &ata_sff_port_ops,
164 164
165 .tf_load = pdc_tf_load_mmio, 165 .sff_tf_load = pdc_tf_load_mmio,
166 .exec_command = pdc_exec_command_mmio, 166 .sff_exec_command = pdc_exec_command_mmio,
167 .check_atapi_dma = pdc_check_atapi_dma, 167 .check_atapi_dma = pdc_check_atapi_dma,
168 .qc_prep = pdc_qc_prep, 168 .qc_prep = pdc_qc_prep,
169 .qc_issue = pdc_qc_issue, 169 .qc_issue = pdc_qc_issue,
170 .irq_clear = pdc_irq_clear, 170 .sff_irq_clear = pdc_irq_clear,
171 171
172 .post_internal_cmd = pdc_post_internal_cmd, 172 .post_internal_cmd = pdc_post_internal_cmd,
173 .error_handler = pdc_error_handler, 173 .error_handler = pdc_error_handler,
diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c
index 987313b68f3b..88bf4212590f 100644
--- a/drivers/ata/sata_sil.c
+++ b/drivers/ata/sata_sil.c
@@ -369,7 +369,7 @@ static void sil_host_intr(struct ata_port *ap, u32 bmdma2)
369 369
370 if (unlikely(!qc || (qc->tf.flags & ATA_TFLAG_POLLING))) { 370 if (unlikely(!qc || (qc->tf.flags & ATA_TFLAG_POLLING))) {
371 /* this sometimes happens, just clear IRQ */ 371 /* this sometimes happens, just clear IRQ */
372 ap->ops->check_status(ap); 372 ap->ops->sff_check_status(ap);
373 return; 373 return;
374 } 374 }
375 375
@@ -405,7 +405,7 @@ static void sil_host_intr(struct ata_port *ap, u32 bmdma2)
405 } 405 }
406 406
407 /* check main status, clearing INTRQ */ 407 /* check main status, clearing INTRQ */
408 status = ap->ops->check_status(ap); 408 status = ap->ops->sff_check_status(ap);
409 if (unlikely(status & ATA_BUSY)) 409 if (unlikely(status & ATA_BUSY))
410 goto err_hsm; 410 goto err_hsm;
411 411
@@ -480,7 +480,7 @@ static void sil_thaw(struct ata_port *ap)
480 u32 tmp; 480 u32 tmp;
481 481
482 /* clear IRQ */ 482 /* clear IRQ */
483 ap->ops->check_status(ap); 483 ap->ops->sff_check_status(ap);
484 ata_sff_irq_clear(ap); 484 ata_sff_irq_clear(ap);
485 485
486 /* turn on SATA IRQ if supported */ 486 /* turn on SATA IRQ if supported */
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c
index 67df1d753305..b83851f6e068 100644
--- a/drivers/ata/sata_sil24.c
+++ b/drivers/ata/sata_sil24.c
@@ -401,9 +401,9 @@ static struct scsi_host_template sil24_sht = {
401static struct ata_port_operations sil24_ops = { 401static struct ata_port_operations sil24_ops = {
402 .inherits = &sata_pmp_port_ops, 402 .inherits = &sata_pmp_port_ops,
403 403
404 .check_status = sil24_check_status, 404 .sff_check_status = sil24_check_status,
405 .check_altstatus = sil24_check_status, 405 .sff_check_altstatus = sil24_check_status,
406 .tf_read = sil24_tf_read, 406 .sff_tf_read = sil24_tf_read,
407 .qc_defer = sil24_qc_defer, 407 .qc_defer = sil24_qc_defer,
408 .qc_prep = sil24_qc_prep, 408 .qc_prep = sil24_qc_prep,
409 .qc_issue = sil24_qc_issue, 409 .qc_issue = sil24_qc_issue,
diff --git a/drivers/ata/sata_svw.c b/drivers/ata/sata_svw.c
index 7b941106f7de..16aa6839aa5a 100644
--- a/drivers/ata/sata_svw.c
+++ b/drivers/ata/sata_svw.c
@@ -233,7 +233,7 @@ static void k2_bmdma_setup_mmio(struct ata_queued_cmd *qc)
233 233
234 /* issue r/w command if this is not a ATA DMA command*/ 234 /* issue r/w command if this is not a ATA DMA command*/
235 if (qc->tf.protocol != ATA_PROT_DMA) 235 if (qc->tf.protocol != ATA_PROT_DMA)
236 ap->ops->exec_command(ap, &qc->tf); 236 ap->ops->sff_exec_command(ap, &qc->tf);
237} 237}
238 238
239/** 239/**
@@ -269,7 +269,7 @@ static void k2_bmdma_start_mmio(struct ata_queued_cmd *qc)
269 and the start command. */ 269 and the start command. */
270 /* issue r/w command if the access is to ATA*/ 270 /* issue r/w command if the access is to ATA*/
271 if (qc->tf.protocol == ATA_PROT_DMA) 271 if (qc->tf.protocol == ATA_PROT_DMA)
272 ap->ops->exec_command(ap, &qc->tf); 272 ap->ops->sff_exec_command(ap, &qc->tf);
273} 273}
274 274
275 275
@@ -336,9 +336,9 @@ static struct scsi_host_template k2_sata_sht = {
336 336
337static struct ata_port_operations k2_sata_ops = { 337static struct ata_port_operations k2_sata_ops = {
338 .inherits = &ata_bmdma_port_ops, 338 .inherits = &ata_bmdma_port_ops,
339 .tf_load = k2_sata_tf_load, 339 .sff_tf_load = k2_sata_tf_load,
340 .tf_read = k2_sata_tf_read, 340 .sff_tf_read = k2_sata_tf_read,
341 .check_status = k2_stat_check_status, 341 .sff_check_status = k2_stat_check_status,
342 .check_atapi_dma = k2_sata_check_atapi_dma, 342 .check_atapi_dma = k2_sata_check_atapi_dma,
343 .bmdma_setup = k2_bmdma_setup_mmio, 343 .bmdma_setup = k2_bmdma_setup_mmio,
344 .bmdma_start = k2_bmdma_start_mmio, 344 .bmdma_start = k2_bmdma_start_mmio,
diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c
index 40be2ff60902..6107eff731f3 100644
--- a/drivers/ata/sata_sx4.c
+++ b/drivers/ata/sata_sx4.c
@@ -243,18 +243,18 @@ static struct scsi_host_template pdc_sata_sht = {
243 243
244/* TODO: inherit from base port_ops after converting to new EH */ 244/* TODO: inherit from base port_ops after converting to new EH */
245static struct ata_port_operations pdc_20621_ops = { 245static struct ata_port_operations pdc_20621_ops = {
246 .tf_load = pdc_tf_load_mmio, 246 .sff_tf_load = pdc_tf_load_mmio,
247 .tf_read = ata_sff_tf_read, 247 .sff_tf_read = ata_sff_tf_read,
248 .check_status = ata_sff_check_status, 248 .sff_check_status = ata_sff_check_status,
249 .exec_command = pdc_exec_command_mmio, 249 .sff_exec_command = pdc_exec_command_mmio,
250 .dev_select = ata_sff_dev_select, 250 .sff_dev_select = ata_sff_dev_select,
251 .phy_reset = pdc_20621_phy_reset, 251 .phy_reset = pdc_20621_phy_reset,
252 .qc_prep = pdc20621_qc_prep, 252 .qc_prep = pdc20621_qc_prep,
253 .qc_issue = pdc20621_qc_issue, 253 .qc_issue = pdc20621_qc_issue,
254 .data_xfer = ata_sff_data_xfer, 254 .sff_data_xfer = ata_sff_data_xfer,
255 .eng_timeout = pdc_eng_timeout, 255 .eng_timeout = pdc_eng_timeout,
256 .irq_clear = pdc20621_irq_clear, 256 .sff_irq_clear = pdc20621_irq_clear,
257 .irq_on = ata_sff_irq_on, 257 .sff_irq_on = ata_sff_irq_on,
258 .port_start = pdc_port_start, 258 .port_start = pdc_port_start,
259}; 259};
260 260
diff --git a/drivers/ata/sata_via.c b/drivers/ata/sata_via.c
index 9323bc2a2785..e5df37689740 100644
--- a/drivers/ata/sata_via.c
+++ b/drivers/ata/sata_via.c
@@ -173,7 +173,7 @@ static void svia_noop_freeze(struct ata_port *ap)
173 /* Some VIA controllers choke if ATA_NIEN is manipulated in 173 /* Some VIA controllers choke if ATA_NIEN is manipulated in
174 * certain way. Leave it alone and just clear pending IRQ. 174 * certain way. Leave it alone and just clear pending IRQ.
175 */ 175 */
176 ap->ops->check_status(ap); 176 ap->ops->sff_check_status(ap);
177 ata_sff_irq_clear(ap); 177 ata_sff_irq_clear(ap);
178} 178}
179 179
diff --git a/drivers/ata/sata_vsc.c b/drivers/ata/sata_vsc.c
index 2c3c7693c750..f3d635c0a2e9 100644
--- a/drivers/ata/sata_vsc.c
+++ b/drivers/ata/sata_vsc.c
@@ -251,7 +251,7 @@ static void vsc_port_intr(u8 port_status, struct ata_port *ap)
251 * simply clear the interrupt 251 * simply clear the interrupt
252 */ 252 */
253 if (unlikely(!handled)) 253 if (unlikely(!handled))
254 ap->ops->check_status(ap); 254 ap->ops->sff_check_status(ap);
255} 255}
256 256
257/* 257/*
@@ -306,8 +306,8 @@ static struct scsi_host_template vsc_sata_sht = {
306 306
307static struct ata_port_operations vsc_sata_ops = { 307static struct ata_port_operations vsc_sata_ops = {
308 .inherits = &ata_bmdma_port_ops, 308 .inherits = &ata_bmdma_port_ops,
309 .tf_load = vsc_sata_tf_load, 309 .sff_tf_load = vsc_sata_tf_load,
310 .tf_read = vsc_sata_tf_read, 310 .sff_tf_read = vsc_sata_tf_read,
311 .freeze = vsc_freeze, 311 .freeze = vsc_freeze,
312 .thaw = vsc_thaw, 312 .thaw = vsc_thaw,
313 .scr_read = vsc_sata_scr_read, 313 .scr_read = vsc_sata_scr_read,