it821x: use ->pio_mode value to determine pair device speed
[safe/jmp/linux-2.6] / drivers / ide / dtc2278.c
index 689b2e4..6929f7f 100644 (file)
@@ -68,11 +68,11 @@ static void sub22 (char b, char c)
 
 static DEFINE_SPINLOCK(dtc2278_lock);
 
-static void dtc2278_set_pio_mode(ide_drive_t *drive, const u8 pio)
+static void dtc2278_set_pio_mode(ide_hwif_t *hwif, ide_drive_t *drive)
 {
        unsigned long flags;
 
-       if (pio >= 3) {
+       if (drive->pio_mode >= XFER_PIO_3) {
                spin_lock_irqsave(&dtc2278_lock, flags);
                /*
                 * This enables PIO mode4 (3?) on the first interface
@@ -100,7 +100,8 @@ static const struct ide_port_info dtc2278_port_info __initdata = {
                                  IDE_HFLAG_IO_32BIT |
                                  /* disallow ->io_32bit changes */
                                  IDE_HFLAG_NO_IO_32BIT |
-                                 IDE_HFLAG_NO_DMA,
+                                 IDE_HFLAG_NO_DMA |
+                                 IDE_HFLAG_DTC2278,
        .pio_mask               = ATA_PIO4,
 };