diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-23 13:55:53 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-23 13:55:53 -0400 |
commit | 92eb43800a3c1300bd5cb8a2a27e6f2a84f7042e (patch) | |
tree | 6c4b7253d2e799f260d7858b99addd0cdac978d2 /drivers/ide/pci | |
parent | 40f095f0138ea5b5971e5128b27e1bb907161149 (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.c | 2 | ||||
-rw-r--r-- | drivers/ide/pci/scc_pata.c | 2 |
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) |