Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
[safe/jmp/linux-2.6] / drivers / ide / sis5513.c
index 3b88eba..db7f4e7 100644 (file)
@@ -290,10 +290,10 @@ static void config_drive_art_rwp(ide_drive_t *drive)
                pci_write_config_byte(dev, 0x4b, rw_prefetch);
 }
 
-static void sis_set_pio_mode(ide_drive_t *drive, const u8 pio)
+static void sis_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive)
 {
        config_drive_art_rwp(drive);
-       sis_program_timings(drive, XFER_PIO_0 + pio);
+       sis_program_timings(drive, drive->pio_mode);
 }
 
 static void sis_ata133_program_udma_timings(ide_drive_t *drive, const u8 mode)
@@ -340,8 +340,10 @@ static void sis_program_udma_timings(ide_drive_t *drive, const u8 mode)
                sis_ata33_program_udma_timings(drive, mode);
 }
 
-static void sis_set_dma_mode(ide_drive_t *drive, const u8 speed)
+static void sis_set_dma_mode(ide_hwif_t *hwif, ide_drive_t *drive)
 {
+       const u8 speed = drive->dma_mode;
+
        if (speed >= XFER_UDMA_0)
                sis_program_udma_timings(drive, speed);
        else
@@ -632,12 +634,3 @@ module_exit(sis5513_ide_exit);
 MODULE_AUTHOR("Lionel Bouton, L C Chang, Andre Hedrick, Vojtech Pavlik");
 MODULE_DESCRIPTION("PCI driver module for SIS IDE");
 MODULE_LICENSE("GPL");
-
-/*
- * TODO:
- *     - CLEANUP
- *     - More checks in the config registers (force values instead of
- *       relying on the BIOS setting them correctly).
- *     - Further optimisations ?
- *       . for example ATA66+ regs 0x48 & 0x4A
- */