Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=07a085ebd35ba0d4e2d88b9044563661dbca2471
Commit:     07a085ebd35ba0d4e2d88b9044563661dbca2471
Parent:     4a546e046d562bcd389149591fa5a534c8f832ca
Author:     Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
AuthorDate: Sat Jan 26 20:13:01 2008 +0100
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Sat Jan 26 20:13:01 2008 +0100

    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: <asm/arch-v10/ide.h> 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 <[EMAIL PROTECTED]>
    Acked-by: Sergei Shtylyov <[EMAIL PROTECTED]>
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/cris/ide-cris.c |   18 +++++++-----------
 1 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/drivers/ide/cris/ide-cris.c b/drivers/ide/cris/ide-cris.c
index 325e608..b0cd032 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)));
 
 /*
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to