ide: refactor tf_load() method

Simplify tf_load() method, making it deal only with 'struct ide_taskfile' and
the validity flags that the upper layer passes, and moving the code that deals
with the high order bytes into the only function interested, do_rw_taskfile().

This should stop the needless code duplication in this method and so make
it about twice smaller than it was; along with simplifying the setup for the
method call, this should save both time and space...

Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
Sergei Shtylyov
2009-04-08 14:13:03 +02:00
committed by Bartlomiej Zolnierkiewicz
parent 30881b9ac9
commit c9ff9e7b64
7 changed files with 18 additions and 51 deletions

View File

@@ -283,13 +283,11 @@ int ide_dev_read_id(ide_drive_t *drive, u8 cmd, u16 *id)
* identify command to be sure of reply
*/
if (cmd == ATA_CMD_ID_ATAPI) {
struct ide_cmd cmd;
struct ide_taskfile tf;
memset(&cmd, 0, sizeof(cmd));
memset(&tf, 0, sizeof(tf));
/* disable DMA & overlap */
cmd.valid.out.tf = IDE_VALID_FEATURE;
tp_ops->tf_load(drive, &cmd);
tp_ops->tf_load(drive, &tf, IDE_VALID_FEATURE);
}
/* ask drive for ID */