aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/cris/ide-cris.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
commit92d3ab27e8fd23d1a9dc3b69d17b2afb83e5c6f5 (patch)
treee58076cb0102443dfe76401931a41931f97053cf /drivers/ide/cris/ide-cris.c
parent284aa76b5339ce79d5ad2ac1c7cbf717082816a7 (diff)
falconide/q40ide: add ->atapi_*put_bytes and ->ata_*put_data methods (take 2)
* Add ->atapi_{in,out}put_bytes and ->ata_{in,out}put_data methods to falconide and q40ide host drivers (->ata_* methods are implemented on top of ->atapi_* methods so they also do byte-swapping now). * Cleanup atapi_{in,out}put_bytes(). v2: * Add 'struct request *rq' argument to ->ata_{in,out}put_data methods and don't byte-swap disk fs requests (we shouldn't un-swap fs requests because fs itself is stored byte-swapped on the disk) - this is how things were done before the patch (ideally device mapper should be used instead but it would break existing setups and would have some performance impact). Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Michael Schmitz <schmitz@debian.org> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Richard Zidlicky <rz@linux-m68k.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/cris/ide-cris.c')
-rw-r--r--drivers/ide/cris/ide-cris.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/ide/cris/ide-cris.c b/drivers/ide/cris/ide-cris.c
index 9df26855bc05..aa263df76569 100644
--- a/drivers/ide/cris/ide-cris.c
+++ b/drivers/ide/cris/ide-cris.c
@@ -673,8 +673,10 @@ cris_ide_inb(unsigned long reg)
673 return (unsigned char)cris_ide_inw(reg); 673 return (unsigned char)cris_ide_inw(reg);
674} 674}
675 675
676static void cris_ide_input_data (ide_drive_t *drive, void *, unsigned int); 676static void cris_ide_input_data(ide_drive_t *, struct request *,
677static void cris_ide_output_data (ide_drive_t *drive, void *, unsigned int); 677 void *, unsigned int);
678static void cris_ide_output_data(ide_drive_t *, struct request *,
679 void *, unsigned int);
678static void cris_atapi_input_bytes(ide_drive_t *drive, void *, unsigned int); 680static void cris_atapi_input_bytes(ide_drive_t *drive, void *, unsigned int);
679static void cris_atapi_output_bytes(ide_drive_t *drive, void *, unsigned int); 681static void cris_atapi_output_bytes(ide_drive_t *drive, void *, unsigned int);
680 682
@@ -900,8 +902,8 @@ cris_atapi_output_bytes (ide_drive_t *drive, void *buffer, unsigned int bytecoun
900/* 902/*
901 * This is used for most PIO data transfers *from* the IDE interface 903 * This is used for most PIO data transfers *from* the IDE interface
902 */ 904 */
903static void 905static void cris_ide_input_data(ide_drive_t *drive, struct request *rq,
904cris_ide_input_data (ide_drive_t *drive, void *buffer, unsigned int wcount) 906 void *buffer, unsigned int wcount)
905{ 907{
906 cris_atapi_input_bytes(drive, buffer, wcount << 2); 908 cris_atapi_input_bytes(drive, buffer, wcount << 2);
907} 909}
@@ -909,8 +911,8 @@ cris_ide_input_data (ide_drive_t *drive, void *buffer, unsigned int wcount)
909/* 911/*
910 * This is used for most PIO data transfers *to* the IDE interface 912 * This is used for most PIO data transfers *to* the IDE interface
911 */ 913 */
912static void 914static void cris_ide_output_data(ide_drive_t *drive, struct request *,
913cris_ide_output_data (ide_drive_t *drive, void *buffer, unsigned int wcount) 915 void *buffer, unsigned int wcount)
914{ 916{
915 cris_atapi_output_bytes(drive, buffer, wcount << 2); 917 cris_atapi_output_bytes(drive, buffer, wcount << 2);
916} 918}