diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-28 17:44:41 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-28 17:44:41 -0400 |
commit | 9f87abe892f899f19df8d472f937ee955cd6264b (patch) | |
tree | f42dda5a9c12c043e3190de7dd43b0cee8e00c8b /drivers/ide/ide-io.c | |
parent | 7c0daf2681f140dd9f39cd95966f471b5c904d8a (diff) |
ide: add ide_pad_transfer() helper
* Add ide_pad_transfer() helper (which uses ->{in,out}put_data methods
internally so the transfer is also padded to drive+host requirements)
and use it instead of ide_atapi_{write_zeros,discard_data}().
* Remove no longer needed ide_atapi_{write_zeros,discard_data}().
Cc: Borislav Petkov <petkovbb@gmail.com>
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-io.c')
-rw-r--r-- | drivers/ide/ide-io.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index 8d7c1a09e1e7..788783da9025 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -1642,3 +1642,18 @@ void ide_pktcmd_tf_load(ide_drive_t *drive, u32 tf_flags, u16 bcount, u8 dma) | |||
1642 | } | 1642 | } |
1643 | 1643 | ||
1644 | EXPORT_SYMBOL_GPL(ide_pktcmd_tf_load); | 1644 | EXPORT_SYMBOL_GPL(ide_pktcmd_tf_load); |
1645 | |||
1646 | void ide_pad_transfer(ide_drive_t *drive, int write, int len) | ||
1647 | { | ||
1648 | ide_hwif_t *hwif = drive->hwif; | ||
1649 | u8 buf[4] = { 0 }; | ||
1650 | |||
1651 | while (len > 0) { | ||
1652 | if (write) | ||
1653 | hwif->output_data(drive, NULL, buf, min(4, len)); | ||
1654 | else | ||
1655 | hwif->input_data(drive, NULL, buf, min(4, len)); | ||
1656 | len -= 4; | ||
1657 | } | ||
1658 | } | ||
1659 | EXPORT_SYMBOL_GPL(ide_pad_transfer); | ||