ide: move data register access out of tf_{read|load}() methods (take 2)

Move IDE_FTFLAG_{IN|OUT}_DATA flag handling out of tf_{read|load}() methods
into the only two functions where these flags actually need to be handled:
do_rw_taskfile() and ide_complete_cmd()...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Šī revīzija ir iekļauta:
Sergei Shtylyov
2009-03-31 20:15:31 +02:00
revīziju iesūtīja Bartlomiej Zolnierkiewicz
vecāks bac08cee93
revīzija 35218d1ca8
9 mainīti faili ar 17 papildinājumiem un 100 dzēšanām

Parādīt failu

@@ -457,12 +457,6 @@ static void tx4939ide_tf_load(ide_drive_t *drive, struct ide_cmd *cmd)
if (cmd->ftf_flags & IDE_FTFLAG_FLAGGED)
HIHI = 0xFF;
if (cmd->ftf_flags & IDE_FTFLAG_OUT_DATA) {
u8 data[2] = { tf->data, tf->hob_data };
hwif->tp_ops->output_data(drive, cmd, data, 2);
}
if (cmd->tf_flags & IDE_TFLAG_OUT_HOB_FEATURE)
tx4939ide_outb(tf->hob_feature, io_ports->feature_addr);
if (cmd->tf_flags & IDE_TFLAG_OUT_HOB_NSECT)
@@ -498,15 +492,6 @@ static void tx4939ide_tf_read(ide_drive_t *drive, struct ide_cmd *cmd)
struct ide_io_ports *io_ports = &hwif->io_ports;
struct ide_taskfile *tf = &cmd->tf;
if (cmd->ftf_flags & IDE_FTFLAG_IN_DATA) {
u8 data[2];
hwif->tp_ops->input_data(drive, cmd, data, 2);
tf->data = data[0];
tf->hob_data = data[1];
}
/* be sure we're looking at the low order bits */
tx4939ide_outb(ATA_DEVCTL_OBS, io_ports->ctl_addr);