]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/ide-acpi.c
ide: use ->data_phase to set ->handler in do_rw_taskfile()
[linux-2.6-omap-h63xx.git] / drivers / ide / ide-acpi.c
index 899d56536e80dccdded8eceb67a4d05cecb3f7d2..e0bb0cfa7bdd70d8b57948f701f0cbcc7262d289 100644 (file)
@@ -383,27 +383,19 @@ static int taskfile_load_raw(ide_drive_t *drive,
               gtf->tfa[3], gtf->tfa[4], gtf->tfa[5], gtf->tfa[6]);
 
        memset(&args, 0, sizeof(ide_task_t));
-       args.command_type = IDE_DRIVE_TASK_NO_DATA;
-       args.data_phase   = TASKFILE_NO_DATA;
-       args.handler      = &task_no_data_intr;
 
        /* convert gtf to IDE Taskfile */
-       args.tfRegister[1] = gtf->tfa[0];       /* 0x1f1 */
-       args.tfRegister[2] = gtf->tfa[1];       /* 0x1f2 */
-       args.tfRegister[3] = gtf->tfa[2];       /* 0x1f3 */
-       args.tfRegister[4] = gtf->tfa[3];       /* 0x1f4 */
-       args.tfRegister[5] = gtf->tfa[4];       /* 0x1f5 */
-       args.tfRegister[6] = gtf->tfa[5];       /* 0x1f6 */
-       args.tfRegister[7] = gtf->tfa[6];       /* 0x1f7 */
+       memcpy(&args.tf_array[7], &gtf->tfa, 7);
+       args.tf_flags = IDE_TFLAG_OUT_TF | IDE_TFLAG_OUT_DEVICE;
 
        if (ide_noacpitfs) {
                DEBPRINT("_GTF execution disabled\n");
                return err;
        }
 
-       err = ide_raw_taskfile(drive, &args, NULL);
+       err = ide_no_data_taskfile(drive, &args);
        if (err)
-               printk(KERN_ERR "%s: ide_raw_taskfile failed: %u\n",
+               printk(KERN_ERR "%s: ide_no_data_taskfile failed: %u\n",
                       __FUNCTION__, err);
 
        return err;