aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-cd.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-28 17:44:36 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-04-28 17:44:36 -0400
commit9567b349f7e7dd7e2483db99ee8e4a6fe0caca38 (patch)
tree29abab829b52a451567f8da4280d101fafa44527 /drivers/ide/ide-cd.c
parent92d3ab27e8fd23d1a9dc3b69d17b2afb83e5c6f5 (diff)
ide: merge ->atapi_*put_bytes and ->ata_*put_data methods
* Merge ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods into new ->{in,out}put_data methods which take number of bytes to transfer as an argument and always do padding. While at it: * Use 'hwif' or 'drive->hwif' instead of 'HWIF(drive)'. There should be no functional changes caused by this patch (all users of ->ata_{in,out}put_data methods were using multiply-of-4 word counts). Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-cd.c')
-rw-r--r--drivers/ide/ide-cd.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/ide/ide-cd.c b/drivers/ide/ide-cd.c
index b34fd2bde96f..095e50a93869 100644
--- a/drivers/ide/ide-cd.c
+++ b/drivers/ide/ide-cd.c
@@ -613,7 +613,7 @@ static ide_startstop_t cdrom_transfer_packet_command(ide_drive_t *drive,
613 cmd_len = ATAPI_MIN_CDB_BYTES; 613 cmd_len = ATAPI_MIN_CDB_BYTES;
614 614
615 /* send the command to the device */ 615 /* send the command to the device */
616 HWIF(drive)->atapi_output_bytes(drive, rq->cmd, cmd_len); 616 hwif->output_data(drive, NULL, rq->cmd, cmd_len);
617 617
618 /* start the DMA if need be */ 618 /* start the DMA if need be */
619 if (info->dma) 619 if (info->dma)
@@ -629,7 +629,7 @@ static void ide_cd_pad_transfer(ide_drive_t *drive, xfer_func_t *xf, int len)
629{ 629{
630 while (len > 0) { 630 while (len > 0) {
631 int dum = 0; 631 int dum = 0;
632 xf(drive, &dum, sizeof(dum)); 632 xf(drive, NULL, &dum, sizeof(dum));
633 len -= sizeof(dum); 633 len -= sizeof(dum);
634 } 634 }
635} 635}
@@ -639,7 +639,7 @@ static void ide_cd_drain_data(ide_drive_t *drive, int nsects)
639 while (nsects > 0) { 639 while (nsects > 0) {
640 static char dum[SECTOR_SIZE]; 640 static char dum[SECTOR_SIZE];
641 641
642 drive->hwif->atapi_input_bytes(drive, dum, sizeof(dum)); 642 drive->hwif->input_data(drive, NULL, dum, sizeof(dum));
643 nsects--; 643 nsects--;
644 } 644 }
645} 645}
@@ -666,7 +666,7 @@ static int ide_cd_check_ireason(ide_drive_t *drive, struct request *rq,
666 printk(KERN_ERR "%s: %s: wrong transfer direction!\n", 666 printk(KERN_ERR "%s: %s: wrong transfer direction!\n",
667 drive->name, __func__); 667 drive->name, __func__);
668 668
669 xf = rw ? hwif->atapi_output_bytes : hwif->atapi_input_bytes; 669 xf = rw ? hwif->output_data : hwif->input_data;
670 ide_cd_pad_transfer(drive, xf, len); 670 ide_cd_pad_transfer(drive, xf, len);
671 } else if (rw == 0 && ireason == 1) { 671 } else if (rw == 0 && ireason == 1) {
672 /* 672 /*
@@ -1019,10 +1019,10 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive)
1019 1019
1020 if (ireason == 0) { 1020 if (ireason == 0) {
1021 write = 1; 1021 write = 1;
1022 xferfunc = HWIF(drive)->atapi_output_bytes; 1022 xferfunc = hwif->output_data;
1023 } else { 1023 } else {
1024 write = 0; 1024 write = 0;
1025 xferfunc = HWIF(drive)->atapi_input_bytes; 1025 xferfunc = hwif->input_data;
1026 } 1026 }
1027 1027
1028 /* transfer data */ 1028 /* transfer data */
@@ -1061,7 +1061,7 @@ static ide_startstop_t cdrom_newpc_intr(ide_drive_t *drive)
1061 if (blen > thislen) 1061 if (blen > thislen)
1062 blen = thislen; 1062 blen = thislen;
1063 1063
1064 xferfunc(drive, ptr, blen); 1064 xferfunc(drive, NULL, ptr, blen);
1065 1065
1066 thislen -= blen; 1066 thislen -= blen;
1067 len -= blen; 1067 len -= blen;