diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-23 13:55:56 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-23 13:55:56 -0400 |
commit | 374e042c3e767ac2e5a40b78529220e0b3de793c (patch) | |
tree | 433d258f6da9783f0cb34234af9c359353f531fe /drivers/ide/ide-tape.c | |
parent | d6276b5f5cc7508124de291f3ed59c6945c17ae7 (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.c | 8 |
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); |