mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-10 15:10:38 +00:00
ide-tape: add ide_tape_io_buffers() helper
* Add ide_tape_io_buffers() helper which is a wrapper for idetape_{in,out}put_buffers() and convert idetape_pc_intr() to use it. * Remove no longer used idetape_io_buf typedef. There should be no functional changes caused by this patch. Cc: Borislav Petkov <petkovbb@gmail.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>---
This commit is contained in:
parent
74e63e74ea
commit
08424ac24a
@ -780,7 +780,14 @@ static void ide_tape_handle_dsc(ide_drive_t *drive)
|
|||||||
idetape_postpone_request(drive);
|
idetape_postpone_request(drive);
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef void idetape_io_buf(ide_drive_t *, struct ide_atapi_pc *, unsigned int);
|
static void ide_tape_io_buffers(ide_drive_t *drive, struct ide_atapi_pc *pc,
|
||||||
|
unsigned int bcount, int write)
|
||||||
|
{
|
||||||
|
if (write)
|
||||||
|
idetape_output_buffers(drive, pc, bcount);
|
||||||
|
else
|
||||||
|
idetape_input_buffers(drive, pc, bcount);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is the usual interrupt handler which will be called during a packet
|
* This is the usual interrupt handler which will be called during a packet
|
||||||
@ -795,7 +802,6 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive)
|
|||||||
idetape_tape_t *tape = drive->driver_data;
|
idetape_tape_t *tape = drive->driver_data;
|
||||||
struct ide_atapi_pc *pc = tape->pc;
|
struct ide_atapi_pc *pc = tape->pc;
|
||||||
xfer_func_t *xferfunc;
|
xfer_func_t *xferfunc;
|
||||||
idetape_io_buf *iobuf;
|
|
||||||
unsigned int temp;
|
unsigned int temp;
|
||||||
u16 bcount;
|
u16 bcount;
|
||||||
u8 stat, ireason;
|
u8 stat, ireason;
|
||||||
@ -895,15 +901,14 @@ static ide_startstop_t idetape_pc_intr(ide_drive_t *drive)
|
|||||||
debug_log(DBG_SENSE, "The device wants to send us more "
|
debug_log(DBG_SENSE, "The device wants to send us more "
|
||||||
"data than expected - allowing transfer\n");
|
"data than expected - allowing transfer\n");
|
||||||
}
|
}
|
||||||
iobuf = &idetape_input_buffers;
|
|
||||||
xferfunc = hwif->input_data;
|
xferfunc = hwif->input_data;
|
||||||
} else {
|
} else {
|
||||||
iobuf = &idetape_output_buffers;
|
|
||||||
xferfunc = hwif->output_data;
|
xferfunc = hwif->output_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pc->bh)
|
if (pc->bh)
|
||||||
iobuf(drive, pc, bcount);
|
ide_tape_io_buffers(drive, pc, bcount,
|
||||||
|
!!(pc->flags & PC_FLAG_WRITING));
|
||||||
else
|
else
|
||||||
xferfunc(drive, NULL, pc->cur_pos, bcount);
|
xferfunc(drive, NULL, pc->cur_pos, bcount);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user