ide: merge flagged_taskfile() into do_rw_taskfile()
PATCH 3/9 ide: merge flagged_taskfile() into do_rw_taskfile()
Based on the earlier work by Tejun Heo.
task->data_phase == TASKFILE_MULTI_{IN,OUT} vs drive->mult_count == 0 check is needed also for ide_taskfile_ioctl() requests that don't have IDE_TFLAG_FLAGGED taskfile flag set.
Cc Tejun Heo <[email protected]>
Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
--- drivers/ide/ide-io.c | 3 --- drivers/ide/ide-taskfile.c | 32 ++++++++++++-------------------- include/linux/ide.h | 5 ----- 3 files changed, 12 insertions(+), 28 deletions(-)
drivers/ide/ide-io.c +0 -3
@@ -851,9 +851,6 @@ static ide_startstop_t execute_drive_cmdbreak ; } -if (task->tf_flags &IDE_TFLAG_FLAGGED ) -return flagged_taskfile (drive, task); -return do_rw_taskfile (drive, task); }
drivers/ide/ide-taskfile.c +12 -20
@@ -156,6 +156,18 @@ ide_startstop_t do_rw_taskfile (ide_drivide_hwif_t *hwif =HWIF (drive);struct ide_taskfile *tf = &task->tf; +if (task->data_phase ==TASKFILE_MULTI_IN || + task->data_phase ==TASKFILE_MULTI_OUT ) { +if (!drive->mult_count) { +printk (KERN_ERR "%s: multimode not set!\n" , + drive->name); +return ide_stopped; + } + } + +if (task->tf_flags &IDE_TFLAG_FLAGGED ) + task->tf_flags |=IDE_TFLAG_FLAGGED_SET_IN_FLAGS ; +ide_tf_load (drive, task);if (task->handler !=NULL ) {
@@ -838,23 +850,3 @@ int ide_task_ioctl (ide_drive_t *drive,return err; } - -/* -* NOTICE: This is additions from IBM to provide a discrete interface, -* for selective taskregister access operations. Nice JOB Klaus!!! -* Glad to be able to work and co-develop this with you and IBM. -*/ -ide_startstop_t flagged_taskfile (ide_drive_t *drive,ide_task_t *task) -{ -if (task->data_phase ==TASKFILE_MULTI_IN || - task->data_phase ==TASKFILE_MULTI_OUT ) { -if (!drive->mult_count) { -printk (KERN_ERR "%s: multimode not set!\n" , drive->name); -return ide_stopped; - } - } - - task->tf_flags |=IDE_TFLAG_FLAGGED_SET_IN_FLAGS ; - -return do_rw_taskfile (drive, task); -}
include/linux/ide.h +0 -5
@@ -979,11 +979,6 @@ void ide_pktcmd_tf_load(ide_drive_t *, u*/ extern ide_startstop_t do_rw_taskfile (ide_drive_t *,ide_task_t *); -/* -* Special Flagged Register Validation Caller -*/ -extern ide_startstop_t flagged_taskfile (ide_drive_t *,ide_task_t *); -extern ide_startstop_t set_multmode_intr (ide_drive_t *);extern ide_startstop_t set_geometry_intr (ide_drive_t *);extern ide_startstop_t recal_intr (ide_drive_t *);
Quoted 8 lines · Bartlomiej Zolnierkiewicz
Based on the earlier work by Tejun Heo.
task->data_phase== TASKFILE_MULTI_{IN,OUT} vsdrive->mult_count== 0 check is needed also foride_taskfile_ioctl()requests that don't haveIDE_TFLAG_FLAGGEDtaskfile flag set.Cc Tejun Heo <[email protected]>Signed-off-by Bartlomiej Zolnierkiewicz <[email protected]>
Acked-by Sergei Shtylyov <[email protected]>
MBR, Sergei