diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:06 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-01-25 16:17:06 -0500 |
commit | 650d841d9e053a618dd8ce753422f91b493cf2f6 (patch) | |
tree | 70f81acbf856e4a4d8126bdf6d60144b374cc1a9 /drivers/ide/ide-iops.c | |
parent | cd2a2d969761c26542095c01324201ca0b3ee896 (diff) |
ide: add struct ide_taskfile (take 2)
* Don't set write-only ide_task_t.hobRegister[6] and ide_task_t.hobRegister[7]
in idedisk_set_max_address_ext().
* Add struct ide_taskfile and use it in ide_task_t instead of tfRegister[]
and hobRegister[].
* Remove no longer needed IDE_CONTROL_OFFSET_HOB define.
* Add #ifndef/#endif __KERNEL__ around definitions of {task,hob}_struct_t.
While at it:
* Use ATA_LBA define for LBA bit (0x40) as suggested by Tejun Heo.
v2:
* Add missing newlines. (Noticed by Sergei)
* Use ~ATA_LBA instead of 0xBF. (Noticed by Sergei)
* Use unnamed unions for error/feature and status/command.
(Suggested by Sergei).
There should be no functionality changes caused by this patch.
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Tejun Heo <htejun@gmail.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-iops.c')
-rw-r--r-- | drivers/ide/ide-iops.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index f4e8a0cf06e2..4aac1cc7101d 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
@@ -642,9 +642,9 @@ no_80w: | |||
642 | 642 | ||
643 | int ide_ata66_check (ide_drive_t *drive, ide_task_t *args) | 643 | int ide_ata66_check (ide_drive_t *drive, ide_task_t *args) |
644 | { | 644 | { |
645 | if ((args->tfRegister[IDE_COMMAND_OFFSET] == WIN_SETFEATURES) && | 645 | if (args->tf.command == WIN_SETFEATURES && |
646 | (args->tfRegister[IDE_SECTOR_OFFSET] > XFER_UDMA_2) && | 646 | args->tf.lbal > XFER_UDMA_2 && |
647 | (args->tfRegister[IDE_FEATURE_OFFSET] == SETFEATURES_XFER)) { | 647 | args->tf.feature == SETFEATURES_XFER) { |
648 | if (eighty_ninty_three(drive) == 0) { | 648 | if (eighty_ninty_three(drive) == 0) { |
649 | printk(KERN_WARNING "%s: UDMA speeds >UDMA33 cannot " | 649 | printk(KERN_WARNING "%s: UDMA speeds >UDMA33 cannot " |
650 | "be set\n", drive->name); | 650 | "be set\n", drive->name); |
@@ -662,9 +662,9 @@ int ide_ata66_check (ide_drive_t *drive, ide_task_t *args) | |||
662 | */ | 662 | */ |
663 | int set_transfer (ide_drive_t *drive, ide_task_t *args) | 663 | int set_transfer (ide_drive_t *drive, ide_task_t *args) |
664 | { | 664 | { |
665 | if ((args->tfRegister[IDE_COMMAND_OFFSET] == WIN_SETFEATURES) && | 665 | if (args->tf.command == WIN_SETFEATURES && |
666 | (args->tfRegister[IDE_SECTOR_OFFSET] >= XFER_SW_DMA_0) && | 666 | args->tf.lbal >= XFER_SW_DMA_0 && |
667 | (args->tfRegister[IDE_FEATURE_OFFSET] == SETFEATURES_XFER) && | 667 | args->tf.feature == SETFEATURES_XFER && |
668 | (drive->id->dma_ultra || | 668 | (drive->id->dma_ultra || |
669 | drive->id->dma_mword || | 669 | drive->id->dma_mword || |
670 | drive->id->dma_1word)) | 670 | drive->id->dma_1word)) |