diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-23 13:55:52 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-07-23 13:55:52 -0400 |
commit | 59be2c80f0c1080634006135aa9130f1736fbfba (patch) | |
tree | 4be8174786b93a0c7deab17aa5155c3c0e192b44 /drivers/ide | |
parent | 3c09384e95fa4048a06f179849901f3e57266d58 (diff) |
ide: use ->tf_load in ide_config_drive_speed()
Convert ide_config_drive_speed() to use ->tf_load instead of ->OUTB.
There should be no functional changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide-iops.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index 0a3a5068f04..a15f1e1cb97 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
@@ -792,9 +792,9 @@ int ide_driveid_update(ide_drive_t *drive) | |||
792 | int ide_config_drive_speed(ide_drive_t *drive, u8 speed) | 792 | int ide_config_drive_speed(ide_drive_t *drive, u8 speed) |
793 | { | 793 | { |
794 | ide_hwif_t *hwif = drive->hwif; | 794 | ide_hwif_t *hwif = drive->hwif; |
795 | struct ide_io_ports *io_ports = &hwif->io_ports; | ||
796 | int error = 0; | 795 | int error = 0; |
797 | u8 stat; | 796 | u8 stat; |
797 | ide_task_t task; | ||
798 | 798 | ||
799 | #ifdef CONFIG_BLK_DEV_IDEDMA | 799 | #ifdef CONFIG_BLK_DEV_IDEDMA |
800 | if (hwif->dma_ops) /* check if host supports DMA */ | 800 | if (hwif->dma_ops) /* check if host supports DMA */ |
@@ -828,9 +828,16 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed) | |||
828 | SELECT_MASK(drive, 0); | 828 | SELECT_MASK(drive, 0); |
829 | udelay(1); | 829 | udelay(1); |
830 | hwif->set_irq(hwif, 0); | 830 | hwif->set_irq(hwif, 0); |
831 | hwif->OUTB(SETFEATURES_XFER, io_ports->feature_addr); | 831 | |
832 | hwif->OUTB(speed, io_ports->nsect_addr); | 832 | memset(&task, 0, sizeof(task)); |
833 | task.tf_flags = IDE_TFLAG_OUT_FEATURE | IDE_TFLAG_OUT_NSECT; | ||
834 | task.tf.feature = SETFEATURES_XFER; | ||
835 | task.tf.nsect = speed; | ||
836 | |||
837 | hwif->tf_load(drive, &task); | ||
838 | |||
833 | hwif->exec_command(hwif, WIN_SETFEATURES); | 839 | hwif->exec_command(hwif, WIN_SETFEATURES); |
840 | |||
834 | if (drive->quirk_list == 2) | 841 | if (drive->quirk_list == 2) |
835 | hwif->set_irq(hwif, 1); | 842 | hwif->set_irq(hwif, 1); |
836 | 843 | ||