aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-23 13:55:53 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-23 13:55:53 -0400
commit92eb43800a3c1300bd5cb8a2a27e6f2a84f7042e (patch)
tree6c4b7253d2e799f260d7858b99addd0cdac978d2 /drivers/ide/pci
parent40f095f0138ea5b5971e5128b27e1bb907161149 (diff)
ide: use ->tf_read in ide_read_error()
* Add IDE_TFLAG_IN_FEATURE taskfile flag for reading Feature register and handle it in ->tf_read. * Convert ide_read_error() to use ->tf_read instead of ->INB, then uninline and export it. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci')
-rw-r--r--drivers/ide/pci/ns87415.c2
-rw-r--r--drivers/ide/pci/scc_pata.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/drivers/ide/pci/ns87415.c b/drivers/ide/pci/ns87415.c
index b20e5f01ac89..b9bb8428b35e 100644
--- a/drivers/ide/pci/ns87415.c
+++ b/drivers/ide/pci/ns87415.c
@@ -88,6 +88,8 @@ static void superio_tf_read(ide_drive_t *drive, ide_task_t *task)
88 /* be sure we're looking at the low order bits */ 88 /* be sure we're looking at the low order bits */
89 outb(ATA_DEVCTL_OBS & ~0x80, io_ports->ctl_addr); 89 outb(ATA_DEVCTL_OBS & ~0x80, io_ports->ctl_addr);
90 90
91 if (task->tf_flags & IDE_TFLAG_IN_FEATURE)
92 tf->feature = inb(io_ports->feature_addr);
91 if (task->tf_flags & IDE_TFLAG_IN_NSECT) 93 if (task->tf_flags & IDE_TFLAG_IN_NSECT)
92 tf->nsect = inb(io_ports->nsect_addr); 94 tf->nsect = inb(io_ports->nsect_addr);
93 if (task->tf_flags & IDE_TFLAG_IN_LBAL) 95 if (task->tf_flags & IDE_TFLAG_IN_LBAL)
diff --git a/drivers/ide/pci/scc_pata.c b/drivers/ide/pci/scc_pata.c
index 727eda6db76c..c110f359b03e 100644
--- a/drivers/ide/pci/scc_pata.c
+++ b/drivers/ide/pci/scc_pata.c
@@ -741,6 +741,8 @@ static void scc_tf_read(ide_drive_t *drive, ide_task_t *task)
741 /* be sure we're looking at the low order bits */ 741 /* be sure we're looking at the low order bits */
742 scc_ide_outb(ATA_DEVCTL_OBS & ~0x80, io_ports->ctl_addr); 742 scc_ide_outb(ATA_DEVCTL_OBS & ~0x80, io_ports->ctl_addr);
743 743
744 if (task->tf_flags & IDE_TFLAG_IN_FEATURE)
745 tf->feature = scc_ide_inb(io_ports->feature_addr);
744 if (task->tf_flags & IDE_TFLAG_IN_NSECT) 746 if (task->tf_flags & IDE_TFLAG_IN_NSECT)
745 tf->nsect = scc_ide_inb(io_ports->nsect_addr); 747 tf->nsect = scc_ide_inb(io_ports->nsect_addr);
746 if (task->tf_flags & IDE_TFLAG_IN_LBAL) 748 if (task->tf_flags & IDE_TFLAG_IN_LBAL)