Commit 29d1a437 authored by Tejun Heo's avatar Tejun Heo Committed by Jens Axboe

ide-atapi: kill unused fields and callbacks

Impact: remove fields and code paths which are no longer necessary

Now that ide-tape uses standard mechanisms to transfer data, special
case handling for bh handling can be dropped from ide-atapi.  Drop the
followings.

* pc->cur_pos, b_count, bh and b_data
* drive->pc_update_buffers() and pc_io_buffers().
Signed-off-by: default avatarTejun Heo <tj@kernel.org>
parent 4344d07f
...@@ -359,11 +359,8 @@ static ide_startstop_t ide_pc_intr(ide_drive_t *drive) ...@@ -359,11 +359,8 @@ static ide_startstop_t ide_pc_intr(ide_drive_t *drive)
drive->name, rq_data_dir(pc->rq) drive->name, rq_data_dir(pc->rq)
? "write" : "read"); ? "write" : "read");
pc->flags |= PC_FLAG_DMA_ERROR; pc->flags |= PC_FLAG_DMA_ERROR;
} else { } else
pc->xferred = pc->req_xfer; pc->xferred = pc->req_xfer;
if (drive->pc_update_buffers)
drive->pc_update_buffers(drive, pc);
}
debug_log("%s: DMA finished\n", drive->name); debug_log("%s: DMA finished\n", drive->name);
} }
...@@ -463,16 +460,11 @@ static ide_startstop_t ide_pc_intr(ide_drive_t *drive) ...@@ -463,16 +460,11 @@ static ide_startstop_t ide_pc_intr(ide_drive_t *drive)
return ide_do_reset(drive); return ide_do_reset(drive);
} }
if (drive->media == ide_tape && pc->bh) done = min_t(unsigned int, bcount, cmd->nleft);
done = drive->pc_io_buffers(drive, pc, bcount, write); ide_pio_bytes(drive, cmd, write, done);
else {
done = min_t(unsigned int, bcount, cmd->nleft);
ide_pio_bytes(drive, cmd, write, done);
}
/* Update the current position */ /* Update transferred byte count */
pc->xferred += done; pc->xferred += done;
pc->cur_pos += done;
bcount -= done; bcount -= done;
...@@ -650,7 +642,6 @@ ide_startstop_t ide_issue_pc(ide_drive_t *drive, struct ide_cmd *cmd) ...@@ -650,7 +642,6 @@ ide_startstop_t ide_issue_pc(ide_drive_t *drive, struct ide_cmd *cmd)
/* We haven't transferred any data yet */ /* We haven't transferred any data yet */
pc->xferred = 0; pc->xferred = 0;
pc->cur_pos = pc->buf;
valid_tf = IDE_VALID_DEVICE; valid_tf = IDE_VALID_DEVICE;
bcount = ((drive->media == ide_tape) ? bcount = ((drive->media == ide_tape) ?
......
...@@ -591,7 +591,6 @@ static void ide_tape_create_rw_cmd(idetape_tape_t *tape, ...@@ -591,7 +591,6 @@ static void ide_tape_create_rw_cmd(idetape_tape_t *tape,
ide_init_pc(pc); ide_init_pc(pc);
put_unaligned(cpu_to_be32(length), (unsigned int *) &pc->c[1]); put_unaligned(cpu_to_be32(length), (unsigned int *) &pc->c[1]);
pc->c[1] = 1; pc->c[1] = 1;
pc->bh = NULL;
pc->buf = NULL; pc->buf = NULL;
pc->buf_size = length * tape->blk_size; pc->buf_size = length * tape->blk_size;
pc->req_xfer = pc->buf_size; pc->req_xfer = pc->buf_size;
......
...@@ -362,11 +362,7 @@ struct ide_atapi_pc { ...@@ -362,11 +362,7 @@ struct ide_atapi_pc {
/* data buffer */ /* data buffer */
u8 *buf; u8 *buf;
/* current buffer position */
u8 *cur_pos;
int buf_size; int buf_size;
/* missing/available data on the current buffer */
int b_count;
/* the corresponding request */ /* the corresponding request */
struct request *rq; struct request *rq;
...@@ -379,10 +375,6 @@ struct ide_atapi_pc { ...@@ -379,10 +375,6 @@ struct ide_atapi_pc {
*/ */
u8 pc_buf[IDE_PC_BUFFER_SIZE]; u8 pc_buf[IDE_PC_BUFFER_SIZE];
/* idetape only */
struct idetape_bh *bh;
char *b_data;
unsigned long timeout; unsigned long timeout;
}; };
...@@ -595,10 +587,6 @@ struct ide_drive_s { ...@@ -595,10 +587,6 @@ struct ide_drive_s {
/* callback for packet commands */ /* callback for packet commands */
int (*pc_callback)(struct ide_drive_s *, int); int (*pc_callback)(struct ide_drive_s *, int);
void (*pc_update_buffers)(struct ide_drive_s *, struct ide_atapi_pc *);
int (*pc_io_buffers)(struct ide_drive_s *, struct ide_atapi_pc *,
unsigned int, int);
ide_startstop_t (*irq_handler)(struct ide_drive_s *); ide_startstop_t (*irq_handler)(struct ide_drive_s *);
unsigned long atapi_flags; unsigned long atapi_flags;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment