diff options
-rw-r--r-- | Documentation/ide.txt | 4 | ||||
-rw-r--r-- | drivers/ide/ide-disk.c | 1 | ||||
-rw-r--r-- | drivers/ide/ide-taskfile.c | 32 | ||||
-rw-r--r-- | drivers/ide/ide.c | 6 | ||||
-rw-r--r-- | include/linux/ide.h | 1 |
5 files changed, 3 insertions, 41 deletions
diff --git a/Documentation/ide.txt b/Documentation/ide.txt index b29ccb43d6cc..94e2e3b9e77f 100644 --- a/Documentation/ide.txt +++ b/Documentation/ide.txt | |||
@@ -244,10 +244,6 @@ Summary of ide driver parameters for kernel command line | |||
244 | 244 | ||
245 | "hdx=nodma" : disallow DMA | 245 | "hdx=nodma" : disallow DMA |
246 | 246 | ||
247 | "hdx=swapdata" : when the drive is a disk, byte swap all data | ||
248 | |||
249 | "hdx=bswap" : same as above.......... | ||
250 | |||
251 | "hdx=scsi" : the return of the ide-scsi flag, this is useful for | 247 | "hdx=scsi" : the return of the ide-scsi flag, this is useful for |
252 | allowing ide-floppy, ide-tape, and ide-cdrom|writers | 248 | allowing ide-floppy, ide-tape, and ide-cdrom|writers |
253 | to use ide-scsi emulation on a device specific option. | 249 | to use ide-scsi emulation on a device specific option. |
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c index c1fb75c387ea..041be43a62cb 100644 --- a/drivers/ide/ide-disk.c +++ b/drivers/ide/ide-disk.c | |||
@@ -761,7 +761,6 @@ static void idedisk_add_settings(ide_drive_t *drive) | |||
761 | ide_add_setting(drive, "bios_head", SETTING_RW, TYPE_BYTE, 0, 255, 1, 1, &drive->bios_head, NULL); | 761 | ide_add_setting(drive, "bios_head", SETTING_RW, TYPE_BYTE, 0, 255, 1, 1, &drive->bios_head, NULL); |
762 | ide_add_setting(drive, "bios_sect", SETTING_RW, TYPE_BYTE, 0, 63, 1, 1, &drive->bios_sect, NULL); | 762 | ide_add_setting(drive, "bios_sect", SETTING_RW, TYPE_BYTE, 0, 63, 1, 1, &drive->bios_sect, NULL); |
763 | ide_add_setting(drive, "address", SETTING_RW, TYPE_BYTE, 0, 2, 1, 1, &drive->addressing, set_lba_addressing); | 763 | ide_add_setting(drive, "address", SETTING_RW, TYPE_BYTE, 0, 2, 1, 1, &drive->addressing, set_lba_addressing); |
764 | ide_add_setting(drive, "bswap", SETTING_READ, TYPE_BYTE, 0, 1, 1, 1, &drive->bswap, NULL); | ||
765 | ide_add_setting(drive, "multcount", SETTING_RW, TYPE_BYTE, 0, id->max_multsect, 1, 1, &drive->mult_count, set_multcount); | 764 | ide_add_setting(drive, "multcount", SETTING_RW, TYPE_BYTE, 0, id->max_multsect, 1, 1, &drive->mult_count, set_multcount); |
766 | ide_add_setting(drive, "nowerr", SETTING_RW, TYPE_BYTE, 0, 1, 1, 1, &drive->nowerr, set_nowerr); | 765 | ide_add_setting(drive, "nowerr", SETTING_RW, TYPE_BYTE, 0, 1, 1, 1, &drive->nowerr, set_nowerr); |
767 | ide_add_setting(drive, "lun", SETTING_RW, TYPE_INT, 0, 7, 1, 1, &drive->lun, NULL); | 766 | ide_add_setting(drive, "lun", SETTING_RW, TYPE_INT, 0, 7, 1, 1, &drive->lun, NULL); |
diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c index c58edc86ed3e..3ecafab8f54e 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c | |||
@@ -35,34 +35,6 @@ | |||
35 | #include <asm/uaccess.h> | 35 | #include <asm/uaccess.h> |
36 | #include <asm/io.h> | 36 | #include <asm/io.h> |
37 | 37 | ||
38 | static void ata_bswap_data (void *buffer, int wcount) | ||
39 | { | ||
40 | u16 *p = buffer; | ||
41 | |||
42 | while (wcount--) { | ||
43 | *p = *p << 8 | *p >> 8; p++; | ||
44 | *p = *p << 8 | *p >> 8; p++; | ||
45 | } | ||
46 | } | ||
47 | |||
48 | static void taskfile_input_data(ide_drive_t *drive, void *buffer, u32 wcount) | ||
49 | { | ||
50 | HWIF(drive)->ata_input_data(drive, buffer, wcount); | ||
51 | if (drive->bswap) | ||
52 | ata_bswap_data(buffer, wcount); | ||
53 | } | ||
54 | |||
55 | static void taskfile_output_data(ide_drive_t *drive, void *buffer, u32 wcount) | ||
56 | { | ||
57 | if (drive->bswap) { | ||
58 | ata_bswap_data(buffer, wcount); | ||
59 | HWIF(drive)->ata_output_data(drive, buffer, wcount); | ||
60 | ata_bswap_data(buffer, wcount); | ||
61 | } else { | ||
62 | HWIF(drive)->ata_output_data(drive, buffer, wcount); | ||
63 | } | ||
64 | } | ||
65 | |||
66 | void ide_tf_load(ide_drive_t *drive, ide_task_t *task) | 38 | void ide_tf_load(ide_drive_t *drive, ide_task_t *task) |
67 | { | 39 | { |
68 | ide_hwif_t *hwif = drive->hwif; | 40 | ide_hwif_t *hwif = drive->hwif; |
@@ -352,9 +324,9 @@ static void ide_pio_sector(ide_drive_t *drive, unsigned int write) | |||
352 | 324 | ||
353 | /* do the actual data transfer */ | 325 | /* do the actual data transfer */ |
354 | if (write) | 326 | if (write) |
355 | taskfile_output_data(drive, buf, SECTOR_WORDS); | 327 | hwif->ata_output_data(drive, buf, SECTOR_WORDS); |
356 | else | 328 | else |
357 | taskfile_input_data(drive, buf, SECTOR_WORDS); | 329 | hwif->ata_input_data(drive, buf, SECTOR_WORDS); |
358 | 330 | ||
359 | kunmap_atomic(buf, KM_BIO_SRC_IRQ); | 331 | kunmap_atomic(buf, KM_BIO_SRC_IRQ); |
360 | #ifdef CONFIG_HIGHMEM | 332 | #ifdef CONFIG_HIGHMEM |
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 5f3e53ec5838..52115ef1f01a 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -1303,7 +1303,7 @@ static int __init ide_setup(char *s) | |||
1303 | if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) { | 1303 | if (s[0] == 'h' && s[1] == 'd' && s[2] >= 'a' && s[2] <= max_drive) { |
1304 | const char *hd_words[] = { | 1304 | const char *hd_words[] = { |
1305 | "none", "noprobe", "nowerr", "cdrom", "nodma", | 1305 | "none", "noprobe", "nowerr", "cdrom", "nodma", |
1306 | "autotune", "noautotune", "minus8", "swapdata", "bswap", | 1306 | "autotune", "noautotune", "-8", "-9", "-10", |
1307 | "noflush", "remap", "remap63", "scsi", NULL }; | 1307 | "noflush", "remap", "remap63", "scsi", NULL }; |
1308 | unit = s[2] - 'a'; | 1308 | unit = s[2] - 'a'; |
1309 | hw = unit / MAX_DRIVES; | 1309 | hw = unit / MAX_DRIVES; |
@@ -1339,10 +1339,6 @@ static int __init ide_setup(char *s) | |||
1339 | case -7: /* "noautotune" */ | 1339 | case -7: /* "noautotune" */ |
1340 | drive->autotune = IDE_TUNE_NOAUTO; | 1340 | drive->autotune = IDE_TUNE_NOAUTO; |
1341 | goto obsolete_option; | 1341 | goto obsolete_option; |
1342 | case -9: /* "swapdata" */ | ||
1343 | case -10: /* "bswap" */ | ||
1344 | drive->bswap = 1; | ||
1345 | goto done; | ||
1346 | case -11: /* noflush */ | 1342 | case -11: /* noflush */ |
1347 | drive->noflush = 1; | 1343 | drive->noflush = 1; |
1348 | goto done; | 1344 | goto done; |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 74f1ef9c6d94..f94cf036bd95 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -394,7 +394,6 @@ typedef struct ide_drive_s { | |||
394 | u8 state; /* retry state */ | 394 | u8 state; /* retry state */ |
395 | u8 waiting_for_dma; /* dma currently in progress */ | 395 | u8 waiting_for_dma; /* dma currently in progress */ |
396 | u8 unmask; /* okay to unmask other irqs */ | 396 | u8 unmask; /* okay to unmask other irqs */ |
397 | u8 bswap; /* byte swap data */ | ||
398 | u8 noflush; /* don't attempt flushes */ | 397 | u8 noflush; /* don't attempt flushes */ |
399 | u8 dsc_overlap; /* DSC overlap */ | 398 | u8 dsc_overlap; /* DSC overlap */ |
400 | u8 nice1; /* give potential excess bandwidth */ | 399 | u8 nice1; /* give potential excess bandwidth */ |