]> git.karo-electronics.de Git - linux-beck.git/commitdiff
ide: remove ->ide_dma_on and ->dma_off_quietly methods from ide_hwif_t
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sat, 26 Jan 2008 19:13:01 +0000 (20:13 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sat, 26 Jan 2008 19:13:01 +0000 (20:13 +0100)
* Make ide_dma_off_quietly() and __ide_dma_on() always available.

* Drop "__" prefix from __ide_dma_on().

* Check for presence of ->dma_host_on instead of ->ide_dma_on.

* Convert all users of ->ide_dma_on and ->dma_off_quietly methods
  to use ide_dma_on() and ide_dma_off_quietly() instead.

* Remove no longer needed ->ide_dma_on and ->dma_off_quietly methods
  from ide_hwif_t.

* Make ide_dma_on() void.

There should be no functionality changes caused by this patch.

Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/arm/icside.c
drivers/ide/ide-dma.c
drivers/ide/ide-io.c
drivers/ide/ide-iops.c
drivers/ide/ide-probe.c
drivers/ide/ide.c
drivers/ide/mips/au1xxx-ide.c
drivers/ide/pci/sc1200.c
drivers/ide/pci/sgiioc4.c
drivers/ide/ppc/pmac.c
include/linux/ide.h

index d70442a37e34f4b2b380232d8b35bc5e684063af..3a8402bb5dc3066e05974092eb97a7a9fb4e8ede 100644 (file)
@@ -291,24 +291,10 @@ static void icside_dma_host_off(ide_drive_t *drive)
 {
 }
 
-static void icside_dma_off_quietly(ide_drive_t *drive)
-{
-       drive->using_dma = 0;
-       ide_toggle_bounce(drive, 0);
-}
-
 static void icside_dma_host_on(ide_drive_t *drive)
 {
 }
 
-static int icside_dma_on(ide_drive_t *drive)
-{
-       drive->using_dma = 1;
-       ide_toggle_bounce(drive, 1);
-
-       return 0;
-}
-
 static int icside_dma_end(ide_drive_t *drive)
 {
        ide_hwif_t *hwif = HWIF(drive);
@@ -425,9 +411,7 @@ static void icside_dma_init(ide_hwif_t *hwif)
        hwif->set_dma_mode      = icside_set_dma_mode;
 
        hwif->dma_host_off      = icside_dma_host_off;
-       hwif->dma_off_quietly   = icside_dma_off_quietly;
        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->dma_start         = icside_dma_start;
index 9d6dabbbf8096c2bf9b031a387340e1ce618a7c8..edd0018c49887b33ba62e4c6050766ce86d2152a 100644 (file)
@@ -425,6 +425,7 @@ void ide_dma_host_off(ide_drive_t *drive)
 }
 
 EXPORT_SYMBOL(ide_dma_host_off);
+#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */
 
 /**
  *     ide_dma_off_quietly     -       Generic DMA kill
@@ -442,7 +443,6 @@ void ide_dma_off_quietly(ide_drive_t *drive)
 }
 
 EXPORT_SYMBOL(ide_dma_off_quietly);
-#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */
 
 /**
  *     ide_dma_off     -       disable DMA on a device
@@ -455,7 +455,7 @@ EXPORT_SYMBOL(ide_dma_off_quietly);
 void ide_dma_off(ide_drive_t *drive)
 {
        printk(KERN_INFO "%s: DMA disabled\n", drive->name);
-       drive->hwif->dma_off_quietly(drive);
+       ide_dma_off_quietly(drive);
 }
 
 EXPORT_SYMBOL(ide_dma_off);
@@ -481,26 +481,26 @@ void ide_dma_host_on(ide_drive_t *drive)
 }
 
 EXPORT_SYMBOL(ide_dma_host_on);
+#endif
 
 /**
- *     __ide_dma_on            -       Enable DMA on a device
+ *     ide_dma_on              -       Enable DMA on a device
  *     @drive: drive to enable DMA on
  *
  *     Enable IDE DMA for a device on this IDE controller.
  */
-int __ide_dma_on (ide_drive_t *drive)
+
+void ide_dma_on(ide_drive_t *drive)
 {
        drive->using_dma = 1;
        ide_toggle_bounce(drive, 1);
 
        drive->hwif->dma_host_on(drive);
-
-       return 0;
 }
 
-EXPORT_SYMBOL(__ide_dma_on);
+EXPORT_SYMBOL(ide_dma_on);
 
+#ifdef CONFIG_BLK_DEV_IDEDMA_PCI
 /**
  *     ide_dma_setup   -       begin a DMA phase
  *     @drive: target device
@@ -827,7 +827,6 @@ err_out:
 
 int ide_set_dma(ide_drive_t *drive)
 {
-       ide_hwif_t *hwif = drive->hwif;
        int rc;
 
        /*
@@ -836,13 +835,15 @@ int ide_set_dma(ide_drive_t *drive)
         * things, if not checked and cleared.
         *   PARANOIA!!!
         */
-       hwif->dma_off_quietly(drive);
+       ide_dma_off_quietly(drive);
 
        rc = ide_dma_check(drive);
        if (rc)
                return rc;
 
-       return hwif->ide_dma_on(drive);
+       ide_dma_on(drive);
+
+       return 0;
 }
 
 #ifdef CONFIG_BLK_DEV_IDEDMA_PCI
@@ -979,12 +980,8 @@ void ide_setup_dma(ide_hwif_t *hwif, unsigned long base, unsigned num_ports)
        if (!(hwif->dma_prdtable))
                hwif->dma_prdtable      = (hwif->dma_base + 4);
 
-       if (!hwif->dma_off_quietly)
-               hwif->dma_off_quietly = &ide_dma_off_quietly;
        if (!hwif->dma_host_off)
                hwif->dma_host_off = &ide_dma_host_off;
-       if (!hwif->ide_dma_on)
-               hwif->ide_dma_on = &__ide_dma_on;
        if (!hwif->dma_host_on)
                hwif->dma_host_on = &ide_dma_host_on;
        if (!hwif->dma_setup)
index 2711b5a6962df05ca9579cc7bcb4b9cd54df274a..b5a7d2578ab8419cef8d2a0082375c89a7fcc4d5 100644 (file)
@@ -75,7 +75,7 @@ static int __ide_end_request(ide_drive_t *drive, struct request *rq,
         */
        if (drive->state == DMA_PIO_RETRY && drive->retry_pio <= 3) {
                drive->state = 0;
-               HWGROUP(drive)->hwif->ide_dma_on(drive);
+               ide_dma_on(drive);
        }
 
        if (!end_that_request_chunk(rq, uptodate, nr_bytes)) {
@@ -219,7 +219,7 @@ static ide_startstop_t ide_start_power_step(ide_drive_t *drive, struct request *
                 * we could be smarter and check for current xfer_speed
                 * in struct drive etc...
                 */
-               if (drive->hwif->ide_dma_on == NULL)
+               if (drive->hwif->dma_host_on == NULL)
                        break;
                /*
                 * TODO: respect ->using_dma setting
@@ -787,7 +787,7 @@ static ide_startstop_t do_special (ide_drive_t *drive)
 
                        if (hwif->host_flags & IDE_HFLAG_SET_PIO_MODE_KEEP_DMA) {
                                if (keep_dma)
-                                       hwif->ide_dma_on(drive);
+                                       ide_dma_on(drive);
                        }
                }
 
@@ -1334,7 +1334,7 @@ static ide_startstop_t ide_dma_timeout_retry(ide_drive_t *drive, int error)
         */
        drive->retry_pio++;
        drive->state = DMA_PIO_RETRY;
-       hwif->dma_off_quietly(drive);
+       ide_dma_off_quietly(drive);
 
        /*
         * un-busy drive etc (hwgroup->busy is cleared on return) and
index e3e5e39f4906cf03e91f62002a7c4cda0f78bf3b..76cb5f2bd4e6d9a077bb61799a0dac8ddde15889 100644 (file)
@@ -742,7 +742,7 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
 //             msleep(50);
 
 #ifdef CONFIG_BLK_DEV_IDEDMA
-       if (hwif->ide_dma_on)   /* check if host supports DMA */
+       if (hwif->dma_host_on)  /* check if host supports DMA */
                hwif->dma_host_off(drive);
 #endif
 
@@ -801,8 +801,8 @@ int ide_config_drive_speed(ide_drive_t *drive, u8 speed)
 #ifdef CONFIG_BLK_DEV_IDEDMA
        if (speed >= XFER_SW_DMA_0 || (hwif->host_flags & IDE_HFLAG_VDMA))
                hwif->dma_host_on(drive);
-       else if (hwif->ide_dma_on)      /* check if host supports DMA */
-               hwif->dma_off_quietly(drive);
+       else if (hwif->dma_host_on)     /* check if host supports DMA */
+               ide_dma_off_quietly(drive);
 #endif
 
        switch(speed) {
@@ -1012,10 +1012,10 @@ static void check_dma_crc(ide_drive_t *drive)
 {
 #ifdef CONFIG_BLK_DEV_IDEDMA
        if (drive->crc_count) {
-               drive->hwif->dma_off_quietly(drive);
+               ide_dma_off_quietly(drive);
                ide_set_xfer_rate(drive, ide_auto_reduce_xfer(drive));
                if (drive->current_speed >= XFER_SW_DMA_0)
-                       (void) HWIF(drive)->ide_dma_on(drive);
+                       ide_dma_on(drive);
        } else
                ide_dma_off(drive);
 #endif
index 0379d1f697cfb5146186d1d193e40c049a0ebda6..b363a96607d1d1f448cd6150e9ac5912e15cfd52 100644 (file)
@@ -833,7 +833,7 @@ static void probe_hwif(ide_hwif_t *hwif)
 
                        drive->nice1 = 1;
 
-                       if (hwif->ide_dma_on)
+                       if (hwif->dma_host_on)
                                ide_set_dma(drive);
                }
        }
index c6d4f630e18a4fd44b6b98438aa3770f28085774..095ff34870da308df3812b0b12a8c93b2acc6a68 100644 (file)
@@ -437,8 +437,6 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif)
        hwif->dma_exec_cmd              = tmp_hwif->dma_exec_cmd;
        hwif->dma_start                 = tmp_hwif->dma_start;
        hwif->ide_dma_end               = tmp_hwif->ide_dma_end;
-       hwif->ide_dma_on                = tmp_hwif->ide_dma_on;
-       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->dma_host_on               = tmp_hwif->dma_host_on;
@@ -836,7 +834,7 @@ int set_using_dma(ide_drive_t *drive, int arg)
        if (!drive->id || !(drive->id->capability & 1))
                goto out;
 
-       if (hwif->ide_dma_on == NULL)
+       if (hwif->dma_host_on == NULL)
                goto out;
 
        err = -EBUSY;
index 4fc032838051f2d8a8a424bb56e489abbfdd92da..4dfdca4ccbde90f8fbc892f772b1fe9fa83811c3 100644 (file)
@@ -399,24 +399,10 @@ static void auide_dma_host_on(ide_drive_t *drive)
 {
 }
 
-static int auide_dma_on(ide_drive_t *drive)
-{
-       drive->using_dma = 1;
-       ide_toggle_bounce(drive, 1);
-
-       return 0;
-}
-
 static void auide_dma_host_off(ide_drive_t *drive)
 {
 }
 
-static void auide_dma_off_quietly(ide_drive_t *drive)
-{
-       drive->using_dma = 0;
-       ide_toggle_bounce(drive, 0);
-}
-
 static void auide_dma_lost_irq(ide_drive_t *drive)
 {
        printk(KERN_ERR "%s: IRQ lost\n", drive->name);
@@ -684,7 +670,6 @@ static int au_ide_probe(struct device *dev)
        hwif->set_dma_mode              = &auide_set_dma_mode;
 
 #ifdef CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA
-       hwif->dma_off_quietly           = &auide_dma_off_quietly;
        hwif->dma_timeout               = &auide_dma_timeout;
 
        hwif->mdma_filter               = &auide_mdma_filter;
@@ -697,7 +682,6 @@ static int au_ide_probe(struct device *dev)
        hwif->dma_host_off              = &auide_dma_host_off;
        hwif->dma_host_on               = &auide_dma_host_on;
        hwif->dma_lost_irq              = &auide_dma_lost_irq;
-       hwif->ide_dma_on                = &auide_dma_on;
 #else /* !CONFIG_BLK_DEV_IDE_AU1XXX_MDMA2_DBDMA */
        hwif->channel                   = 0;
        hwif->hold                      = 1;
index fef20bd4aa78f45a853f9962e838c405718774cd..8a94c3e8f7c4ed24e97c6d3ca029346cdd0fa4fc 100644 (file)
@@ -220,7 +220,7 @@ static void sc1200_set_pio_mode(ide_drive_t *drive, const u8 pio)
        }
        if (mode != -1) {
                printk("SC1200: %s: changing (U)DMA mode\n", drive->name);
-               hwif->dma_off_quietly(drive);
+               ide_dma_off_quietly(drive);
                if (ide_set_dma_mode(drive, mode) == 0)
                        hwif->dma_host_on(drive);
                return;
index fea56d3b3a3a4d28eb61277903d965eba9e2d57c..8c4e94bd4449251c333ee433cba32af32c8ae556 100644 (file)
@@ -277,23 +277,6 @@ sgiioc4_ide_dma_end(ide_drive_t * drive)
        return dma_stat;
 }
 
-static int
-sgiioc4_ide_dma_on(ide_drive_t * drive)
-{
-       drive->using_dma = 1;
-       ide_toggle_bounce(drive, 1);
-
-       return 0;
-}
-
-static void sgiioc4_dma_off_quietly(ide_drive_t *drive)
-{
-       drive->using_dma = 0;
-       ide_toggle_bounce(drive, 0);
-
-       drive->hwif->dma_host_off(drive);
-}
-
 static void sgiioc4_set_dma_mode(ide_drive_t *drive, const u8 speed)
 {
 }
@@ -598,8 +581,6 @@ ide_init_sgiioc4(ide_hwif_t * hwif)
        hwif->dma_setup = &sgiioc4_ide_dma_setup;
        hwif->dma_start = &sgiioc4_ide_dma_start;
        hwif->ide_dma_end = &sgiioc4_ide_dma_end;
-       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->dma_host_on = &sgiioc4_dma_host_on;
        hwif->dma_host_off = &sgiioc4_dma_host_off;
index 3dce80092fff0e32cb539cffc151337f047d4f79..ca99b69cfac7cf63628c4efa88ea9ea8c2e24035 100644 (file)
@@ -1748,8 +1748,6 @@ pmac_ide_setup_dma(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif)
                return;
        }
 
-       hwif->dma_off_quietly = &ide_dma_off_quietly;
-       hwif->ide_dma_on = &__ide_dma_on;
        hwif->dma_setup = &pmac_ide_dma_setup;
        hwif->dma_exec_cmd = &pmac_ide_dma_exec_cmd;
        hwif->dma_start = &pmac_ide_dma_start;
index bf106d569cfc08d77dc0f583eae550de8f50463a..140864d63aed1cb3208db7bd541d1d07cabcbe7e 100644 (file)
@@ -546,8 +546,6 @@ typedef struct hwif_s {
        void (*dma_exec_cmd)(ide_drive_t *, u8);
        void (*dma_start)(ide_drive_t *);
        int (*ide_dma_end)(ide_drive_t *drive);
-       int (*ide_dma_on)(ide_drive_t *drive);
-       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);
        void (*dma_host_on)(ide_drive_t *drive);
@@ -1149,7 +1147,9 @@ static inline u8 ide_max_dma_mode(ide_drive_t *drive)
        return ide_find_dma_mode(drive, XFER_UDMA_6);
 }
 
+void ide_dma_off_quietly(ide_drive_t *);
 void ide_dma_off(ide_drive_t *);
+void ide_dma_on(ide_drive_t *);
 int ide_set_dma(ide_drive_t *);
 ide_startstop_t ide_dma_intr(ide_drive_t *);
 
@@ -1161,9 +1161,7 @@ extern int ide_release_dma(ide_hwif_t *);
 extern void ide_setup_dma(ide_hwif_t *, unsigned long, unsigned int);
 
 void ide_dma_host_off(ide_drive_t *);
-void ide_dma_off_quietly(ide_drive_t *);
 void ide_dma_host_on(ide_drive_t *);
-extern int __ide_dma_on(ide_drive_t *);
 extern int ide_dma_setup(ide_drive_t *);
 extern void ide_dma_start(ide_drive_t *);
 extern int __ide_dma_end(ide_drive_t *);
@@ -1175,7 +1173,9 @@ extern void ide_dma_timeout(ide_drive_t *);
 static inline int ide_id_dma_bug(ide_drive_t *drive) { return 0; }
 static inline u8 ide_find_dma_mode(ide_drive_t *drive, u8 speed) { return 0; }
 static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; }
+static inline void ide_dma_off_quietly(ide_drive_t *drive) { ; }
 static inline void ide_dma_off(ide_drive_t *drive) { ; }
+static inline void ide_dma_on(ide_drive_t *drive) { ; }
 static inline void ide_dma_verbose(ide_drive_t *drive) { ; }
 static inline int ide_set_dma(ide_drive_t *drive) { return 1; }
 #endif /* CONFIG_BLK_DEV_IDEDMA */