From 07a085ebd35ba0d4e2d88b9044563661dbca2471 Mon Sep 17 00:00:00 2001 From: Bartlomiej Zolnierkiewicz Date: Sat, 26 Jan 2008 20:13:01 +0100 Subject: [PATCH] ide-cris: fix DMA methods * Rename cris_dma_{on,off}() to cris_dma_host_{on,off}(). * Remove no longer needed ->dma_off_quietly (IDE core has the needed code now). * Make cris_dma_host_on() void. I left fixing ide-cris after "kill dma_on/dma_off_quietly() methods" patch because: * Currently this driver is broken: cris_dma_on() (returns 'int') is assigned to hwif->dma_host_on (returns 'void') so the driver won't build. * ->ide_dma_on method was missing so the driver OOPS-es on attempt to enable DMA. * drive->using_dma was never set/cleared so DMA wouldn't be used anyway. Unfortunately it seems that ide-cris stays broken even after this patch: * V10: needs fixing - ide_init_default_hwifs() should be removed (IDE core no longer uses it) - same for ide_init_hwif_ports() and ide_default_{irq,io_base}() (they shouldn't be needed for ide-cris host driver) * V32: I'm unable to find a place which defines ETRAX_ARCH_V32 but I'm leaving fixing this to CRIS gurus. :) Cc: Mikael Starvik Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz --- drivers/ide/cris/ide-cris.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/drivers/ide/cris/ide-cris.c b/drivers/ide/cris/ide-cris.c index 325e608d9e6..b0cd0326cf5 100644 --- a/drivers/ide/cris/ide-cris.c +++ b/drivers/ide/cris/ide-cris.c @@ -673,9 +673,12 @@ static void cris_ide_input_data (ide_drive_t *drive, void *, unsigned int); static void cris_ide_output_data (ide_drive_t *drive, void *, unsigned int); static void cris_atapi_input_bytes(ide_drive_t *drive, void *, unsigned int); static void cris_atapi_output_bytes(ide_drive_t *drive, void *, unsigned int); -static int cris_dma_on (ide_drive_t *drive); -static void cris_dma_off(ide_drive_t *drive) +static void cris_dma_host_off(ide_drive_t *drive) +{ +} + +static void cris_dma_host_on(ide_drive_t *drive) { } @@ -799,9 +802,8 @@ init_e100_ide (void) hwif->OUTBSYNC = &cris_ide_outbsync; hwif->INB = &cris_ide_inb; hwif->INW = &cris_ide_inw; - hwif->dma_host_off = &cris_dma_off; - hwif->dma_host_on = &cris_dma_on; - hwif->dma_off_quietly = &cris_dma_off; + hwif->dma_host_off = &cris_dma_host_off; + hwif->dma_host_on = &cris_dma_host_on; hwif->cbl = ATA_CBL_PATA40; hwif->host_flags |= IDE_HFLAG_NO_ATAPI_DMA; hwif->pio_mask = ATA_PIO4, @@ -823,12 +825,6 @@ init_e100_ide (void) cris_ide_set_speed(TYPE_UDMA, ATA_UDMA2_CYC, ATA_UDMA2_DVS, 0); } -static int cris_dma_on (ide_drive_t *drive) -{ - return 0; -} - - static cris_dma_descr_type mydescr __attribute__ ((__aligned__(16))); /* -- 2.41.1