ide_dma_timeout(drive);
 }
 
-static unsigned int __devinit init_chipset_pdc202xx(struct pci_dev *dev,
-                                                       const char *name)
-{
-       return dev->irq;
-}
-
 static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif)
 {
        struct pci_dev *dev = to_pci_dev(hwif->dev);
        hwif->ide_dma_test_irq = &pdc202xx_old_ide_dma_test_irq;
 }
 
-static void __devinit init_dma_pdc202xx(ide_hwif_t *hwif, unsigned long dmabase)
+static unsigned int __devinit init_chipset_pdc202xx(struct pci_dev *dev,
+                                                   const char *name)
 {
-       struct pci_dev *dev = to_pci_dev(hwif->dev);
+       unsigned long dmabase = pci_resource_start(dev, 4);
        u8 udma_speed_flag = 0, primary_mode = 0, secondary_mode = 0;
 
-       if (hwif->channel) {
-               ide_setup_dma(hwif, dmabase);
-               return;
-       }
+       if (dmabase == 0)
+               goto out;
 
        udma_speed_flag = inb(dmabase | 0x1f);
        primary_mode    = inb(dmabase | 0x1a);
                outb(udma_speed_flag | 1, dmabase | 0x1f);
                printk("%sACTIVE\n", (inb(dmabase | 0x1f) & 1) ? "" : "IN");
        }
-
-       ide_setup_dma(hwif, dmabase);
+out:
+       return dev->irq;
 }
 
 static void __devinit pdc202ata4_fixup_irq(struct pci_dev *dev,
                .name           = name_str, \
                .init_chipset   = init_chipset_pdc202xx, \
                .init_hwif      = init_hwif_pdc202xx, \
-               .init_dma       = init_dma_pdc202xx, \
                .port_ops       = &pdc2026x_port_ops, \
                .host_flags     = IDE_HFLAGS_PDC202XX | extra_flags, \
                .pio_mask       = ATA_PIO4, \
                .name           = "PDC20246",
                .init_chipset   = init_chipset_pdc202xx,
                .init_hwif      = init_hwif_pdc202xx,
-               .init_dma       = init_dma_pdc202xx,
                .port_ops       = &pdc20246_port_ops,
                .host_flags     = IDE_HFLAGS_PDC202XX,
                .pio_mask       = ATA_PIO4,