drive->using_dma = 0;
 }
 
-static int icside_dma_host_on(ide_drive_t *drive)
+static void icside_dma_host_on(ide_drive_t *drive)
 {
-       return 0;
 }
 
 static int icside_dma_on(ide_drive_t *drive)
 {
        drive->using_dma = 1;
-       return icside_dma_host_on(drive);
+
+       return 0;
 }
 
 static int icside_dma_check(ide_drive_t *drive)
        hwif->ide_dma_check     = icside_dma_check;
        hwif->dma_host_off      = icside_dma_host_off;
        hwif->dma_off_quietly   = icside_dma_off_quietly;
-       hwif->ide_dma_host_on   = icside_dma_host_on;
+       hwif->dma_host_on       = icside_dma_host_on;
        hwif->ide_dma_on        = icside_dma_on;
        hwif->dma_setup         = icside_dma_setup;
        hwif->dma_exec_cmd      = icside_dma_exec_cmd;
 
                hwif->INB = &cris_ide_inb;
                hwif->INW = &cris_ide_inw;
                hwif->dma_host_off = &cris_dma_off;
-               hwif->ide_dma_host_on = &cris_dma_on;
+               hwif->dma_host_on = &cris_dma_on;
                hwif->dma_off_quietly = &cris_dma_off;
                hwif->udma_four = 0;
                hwif->ultra_mask = cris_ultra_mask;
 
 
 #ifdef CONFIG_BLK_DEV_IDEDMA_PCI
 /**
- *     __ide_dma_host_on       -       Enable DMA on a host
+ *     ide_dma_host_on -       Enable DMA on a host
  *     @drive: drive to enable for DMA
  *
  *     Enable DMA on an IDE controller following generic bus mastering
  *     IDE controller behaviour
  */
- 
-int __ide_dma_host_on (ide_drive_t *drive)
+
+void ide_dma_host_on(ide_drive_t *drive)
 {
        if (drive->using_dma) {
                ide_hwif_t *hwif        = HWIF(drive);
                u8 dma_stat             = hwif->INB(hwif->dma_status);
 
                hwif->OUTB((dma_stat|(1<<(5+unit))), hwif->dma_status);
-               return 0;
        }
-       return 1;
 }
 
-EXPORT_SYMBOL(__ide_dma_host_on);
+EXPORT_SYMBOL(ide_dma_host_on);
 
 /**
  *     __ide_dma_on            -       Enable DMA on a device
        drive->using_dma = 1;
        ide_toggle_bounce(drive, 1);
 
-       if (HWIF(drive)->ide_dma_host_on(drive))
-               return 1;
+       drive->hwif->dma_host_on(drive);
 
        return 0;
 }
                hwif->dma_host_off = &ide_dma_host_off;
        if (!hwif->ide_dma_on)
                hwif->ide_dma_on = &__ide_dma_on;
-       if (!hwif->ide_dma_host_on)
-               hwif->ide_dma_host_on = &__ide_dma_host_on;
+       if (!hwif->dma_host_on)
+               hwif->dma_host_on = &ide_dma_host_on;
        if (!hwif->ide_dma_check)
                hwif->ide_dma_check = &__ide_dma_check;
        if (!hwif->dma_setup)
 
 
 #ifdef CONFIG_BLK_DEV_IDEDMA
        if (speed >= XFER_SW_DMA_0)
-               hwif->ide_dma_host_on(drive);
+               hwif->dma_host_on(drive);
        else if (hwif->ide_dma_check)   /* check if host supports DMA */
                hwif->dma_off_quietly(drive);
 #endif
 
        hwif->dma_off_quietly           = tmp_hwif->dma_off_quietly;
        hwif->ide_dma_test_irq          = tmp_hwif->ide_dma_test_irq;
        hwif->ide_dma_clear_irq         = tmp_hwif->ide_dma_clear_irq;
-       hwif->ide_dma_host_on           = tmp_hwif->ide_dma_host_on;
+       hwif->dma_host_on               = tmp_hwif->dma_host_on;
        hwif->dma_host_off              = tmp_hwif->dma_host_off;
        hwif->ide_dma_lostirq           = tmp_hwif->ide_dma_lostirq;
        hwif->ide_dma_timeout           = tmp_hwif->ide_dma_timeout;
 
        return 0;
 }
 
-static int auide_dma_host_on(ide_drive_t *drive)
+static void auide_dma_host_on(ide_drive_t *drive)
 {
-       return 0;
 }
 
 static int auide_dma_on(ide_drive_t *drive)
 {
        drive->using_dma = 1;
-       return auide_dma_host_on(drive);
+
+       return 0;
 }
 
 static void auide_dma_host_off(ide_drive_t *drive)
        hwif->dma_setup                 = &auide_dma_setup;
        hwif->ide_dma_test_irq          = &auide_dma_test_irq;
        hwif->dma_host_off              = &auide_dma_host_off;
-       hwif->ide_dma_host_on           = &auide_dma_host_on;
+       hwif->dma_host_on               = &auide_dma_host_on;
        hwif->ide_dma_lostirq           = &auide_dma_lostirq;
        hwif->ide_dma_on                = &auide_dma_on;
 
 
        }
 }
 
-static int atiixp_ide_dma_host_on(ide_drive_t *drive)
+static void atiixp_dma_host_on(ide_drive_t *drive)
 {
        struct pci_dev *dev = drive->hwif->pci_dev;
        unsigned long flags;
 
        spin_unlock_irqrestore(&atiixp_lock, flags);
 
-       return __ide_dma_host_on(drive);
+       ide_dma_host_on(drive);
 }
 
 static void atiixp_dma_host_off(ide_drive_t *drive)
        else
                hwif->udma_four = 0;
 
-       hwif->ide_dma_host_on = &atiixp_ide_dma_host_on;
+       hwif->dma_host_on = &atiixp_dma_host_on;
        hwif->dma_host_off = &atiixp_dma_host_off;
        hwif->ide_dma_check = &atiixp_dma_check;
        if (!noautodma)
 
 {
        drive->using_dma = 1;
 
-       return HWIF(drive)->ide_dma_host_on(drive);
+       return 0;
 }
 
 static void sgiioc4_dma_off_quietly(ide_drive_t *drive)
        return sgiioc4_checkirq(HWIF(drive));
 }
 
-static int
-sgiioc4_ide_dma_host_on(ide_drive_t * drive)
+static void sgiioc4_dma_host_on(ide_drive_t * drive)
 {
-       if (drive->using_dma)
-               return 0;
-
-       return 1;
 }
 
 static void sgiioc4_dma_host_off(ide_drive_t * drive)
        hwif->ide_dma_on = &sgiioc4_ide_dma_on;
        hwif->dma_off_quietly = &sgiioc4_dma_off_quietly;
        hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq;
-       hwif->ide_dma_host_on = &sgiioc4_ide_dma_host_on;
+       hwif->dma_host_on = &sgiioc4_dma_host_on;
        hwif->dma_host_off = &sgiioc4_dma_host_off;
        hwif->ide_dma_lostirq = &sgiioc4_ide_dma_lostirq;
        hwif->ide_dma_timeout = &__ide_dma_timeout;
 
 {
 }
 
-static int
-pmac_ide_dma_host_on (ide_drive_t *drive)
+static int pmac_ide_dma_host_on(ide_drive_t *drive)
 {
-       return 0;
 }
 
 static int
        hwif->ide_dma_end = &pmac_ide_dma_end;
        hwif->ide_dma_test_irq = &pmac_ide_dma_test_irq;
        hwif->dma_host_off = &pmac_ide_dma_host_off;
-       hwif->ide_dma_host_on = &pmac_ide_dma_host_on;
+       hwif->dma_host_on = &pmac_ide_dma_host_on;
        hwif->ide_dma_timeout = &__ide_dma_timeout;
        hwif->ide_dma_lostirq = &pmac_ide_dma_lostirq;
 
 
        void (*dma_off_quietly)(ide_drive_t *drive);
        int (*ide_dma_test_irq)(ide_drive_t *drive);
        void (*ide_dma_clear_irq)(ide_drive_t *drive);
-       int (*ide_dma_host_on)(ide_drive_t *drive);
+       void (*dma_host_on)(ide_drive_t *drive);
        void (*dma_host_off)(ide_drive_t *drive);
        int (*ide_dma_lostirq)(ide_drive_t *drive);
        int (*ide_dma_timeout)(ide_drive_t *drive);
 
 void ide_dma_host_off(ide_drive_t *);
 void ide_dma_off_quietly(ide_drive_t *);
-extern int __ide_dma_host_on(ide_drive_t *);
+void ide_dma_host_on(ide_drive_t *);
 extern int __ide_dma_on(ide_drive_t *);
 extern int __ide_dma_check(ide_drive_t *);
 extern int ide_dma_setup(ide_drive_t *);