aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-tape.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-23 13:55:56 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-07-23 13:55:56 -0400
commit374e042c3e767ac2e5a40b78529220e0b3de793c (patch)
tree433d258f6da9783f0cb34234af9c359353f531fe /drivers/ide/ide-tape.c
parentd6276b5f5cc7508124de291f3ed59c6945c17ae7 (diff)
ide: add struct ide_tp_ops (take 2)
* Add struct ide_tp_ops for transport methods. * Add 'const struct ide_tp_ops *tp_ops' to struct ide_port_info and ide_hwif_t. * Set the default hwif->tp_ops in ide_init_port_data(). * Set host driver specific hwif->tp_ops in ide_init_port(). * Export ide_exec_command(), ide_read_status(), ide_read_altstatus(), ide_read_sff_dma_status(), ide_set_irq(), ide_tf_{load,read}() and ata_{in,out}put_data(). * Convert host drivers and core code to use struct ide_tp_ops. * Remove no longer needed default_hwif_transport(). * Cleanup ide_hwif_t from methods that are now in struct ide_tp_ops. While at it: * Use struct ide_port_info in falconide.c and q40ide.c. * Rename ata_{in,out}put_data() to ide_{in,out}put_data(). v2: * Fix missing convertion in ns87415.c. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-tape.c')
-rw-r--r--drivers/ide/ide-tape.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index ef54728a74b0..0af128826f1e 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -398,7 +398,7 @@ static void idetape_input_buffers(ide_drive_t *drive, struct ide_atapi_pc *pc,
398 count = min( 398 count = min(
399 (unsigned int)(bh->b_size - atomic_read(&bh->b_count)), 399 (unsigned int)(bh->b_size - atomic_read(&bh->b_count)),
400 bcount); 400 bcount);
401 drive->hwif->input_data(drive, NULL, bh->b_data + 401 drive->hwif->tp_ops->input_data(drive, NULL, bh->b_data +
402 atomic_read(&bh->b_count), count); 402 atomic_read(&bh->b_count), count);
403 bcount -= count; 403 bcount -= count;
404 atomic_add(count, &bh->b_count); 404 atomic_add(count, &bh->b_count);
@@ -424,7 +424,7 @@ static void idetape_output_buffers(ide_drive_t *drive, struct ide_atapi_pc *pc,
424 return; 424 return;
425 } 425 }
426 count = min((unsigned int)pc->b_count, (unsigned int)bcount); 426 count = min((unsigned int)pc->b_count, (unsigned int)bcount);
427 drive->hwif->output_data(drive, NULL, pc->b_data, count); 427 drive->hwif->tp_ops->output_data(drive, NULL, pc->b_data, count);
428 bcount -= count; 428 bcount -= count;
429 pc->b_data += count; 429 pc->b_data += count;
430 pc->b_count -= count; 430 pc->b_count -= count;
@@ -932,7 +932,7 @@ static ide_startstop_t idetape_media_access_finished(ide_drive_t *drive)
932 struct ide_atapi_pc *pc = tape->pc; 932 struct ide_atapi_pc *pc = tape->pc;
933 u8 stat; 933 u8 stat;
934 934
935 stat = hwif->read_status(hwif); 935 stat = hwif->tp_ops->read_status(hwif);
936 936
937 if (stat & SEEK_STAT) { 937 if (stat & SEEK_STAT) {
938 if (stat & ERR_STAT) { 938 if (stat & ERR_STAT) {
@@ -1019,7 +1019,7 @@ static ide_startstop_t idetape_do_request(ide_drive_t *drive,
1019 * If the tape is still busy, postpone our request and service 1019 * If the tape is still busy, postpone our request and service
1020 * the other device meanwhile. 1020 * the other device meanwhile.
1021 */ 1021 */
1022 stat = hwif->read_status(hwif); 1022 stat = hwif->tp_ops->read_status(hwif);
1023 1023
1024 if (!drive->dsc_overlap && !(rq->cmd[0] & REQ_IDETAPE_PC2)) 1024 if (!drive->dsc_overlap && !(rq->cmd[0] & REQ_IDETAPE_PC2))
1025 set_bit(IDETAPE_FLAG_IGNORE_DSC, &tape->flags); 1025 set_bit(IDETAPE_FLAG_IGNORE_DSC, &tape->flags);