Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=86f3a492bb09eee5745b93af35f2212179c251fd
Commit:     86f3a492bb09eee5745b93af35f2212179c251fd
Parent:     8f173b5bf460a85791c131e774dc992f8cd578c1
Author:     Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
AuthorDate: Sat Oct 20 00:32:32 2007 +0200
Committer:  Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
CommitDate: Sat Oct 20 00:32:32 2007 +0200

    icside: use ec->dma directly
    
    * hwif->hwif_data contains pointer to struct expansion_card so use ec->dma
      directly instead of caching it in hwif->hw.dma.
    
    * Remove no longer needed hw_regs_t.dma and NO_DMA define.
    
    Cc: Russell King <[EMAIL PROTECTED]>
    Signed-off-by: Bartlomiej Zolnierkiewicz <[EMAIL PROTECTED]>
---
 drivers/ide/arm/icside.c          |   20 ++++++++++----------
 drivers/ide/h8300/ide-h8300.c     |    1 -
 drivers/ide/ide-pnp.c             |    1 -
 drivers/ide/ide.c                 |    1 -
 drivers/ide/legacy/ide_platform.c |    1 -
 drivers/ide/legacy/q40ide.c       |    3 +--
 include/linux/ide.h               |    5 -----
 7 files changed, 11 insertions(+), 21 deletions(-)

diff --git a/drivers/ide/arm/icside.c b/drivers/ide/arm/icside.c
index fda3f87..22fc46d 100644
--- a/drivers/ide/arm/icside.c
+++ b/drivers/ide/arm/icside.c
@@ -316,27 +316,29 @@ static int icside_dma_end(ide_drive_t *drive)
 
        drive->waiting_for_dma = 0;
 
-       disable_dma(hwif->hw.dma);
+       disable_dma(state->dev->dma);
 
        /* Teardown mappings after DMA has completed. */
        dma_unmap_sg(state->dev, hwif->sg_table, hwif->sg_nents,
                     hwif->sg_dma_direction);
 
-       return get_dma_residue(hwif->hw.dma) != 0;
+       return get_dma_residue(state->dev->dma) != 0;
 }
 
 static void icside_dma_start(ide_drive_t *drive)
 {
        ide_hwif_t *hwif = HWIF(drive);
+       struct icside_state *state = hwif->hwif_data;
 
        /* We can not enable DMA on both channels simultaneously. */
-       BUG_ON(dma_channel_active(hwif->hw.dma));
-       enable_dma(hwif->hw.dma);
+       BUG_ON(dma_channel_active(state->dev->dma));
+       enable_dma(state->dev->dma);
 }
 
 static int icside_dma_setup(ide_drive_t *drive)
 {
        ide_hwif_t *hwif = HWIF(drive);
+       struct icside_state *state = hwif->hwif_data;
        struct request *rq = hwif->hwgroup->rq;
        unsigned int dma_mode;
 
@@ -348,7 +350,7 @@ static int icside_dma_setup(ide_drive_t *drive)
        /*
         * We can not enable DMA on both channels.
         */
-       BUG_ON(dma_channel_active(hwif->hw.dma));
+       BUG_ON(dma_channel_active(state->dev->dma));
 
        icside_build_sglist(drive, rq);
 
@@ -365,14 +367,14 @@ static int icside_dma_setup(ide_drive_t *drive)
        /*
         * Select the correct timing for this drive.
         */
-       set_dma_speed(hwif->hw.dma, drive->drive_data);
+       set_dma_speed(state->dev->dma, drive->drive_data);
 
        /*
         * Tell the DMA engine about the SG table and
         * data direction.
         */
-       set_dma_sg(hwif->hw.dma, hwif->sg_table, hwif->sg_nents);
-       set_dma_mode(hwif->hw.dma, dma_mode);
+       set_dma_sg(state->dev->dma, hwif->sg_table, hwif->sg_nents);
+       set_dma_mode(state->dev->dma, dma_mode);
 
        drive->waiting_for_dma = 1;
 
@@ -572,7 +574,6 @@ icside_register_v6(struct icside_state *state, struct 
expansion_card *ec)
        hwif->serialized  = 1;
        hwif->config_data = (unsigned long)ioc_base;
        hwif->select_data = sel;
-       hwif->hw.dma      = ec->dma;
 
        mate->maskproc    = icside_maskproc;
        mate->channel     = 1;
@@ -581,7 +582,6 @@ icside_register_v6(struct icside_state *state, struct 
expansion_card *ec)
        mate->serialized  = 1;
        mate->config_data = (unsigned long)ioc_base;
        mate->select_data = sel | 1;
-       mate->hw.dma      = ec->dma;
 
        if (ec->dma != NO_DMA && !request_dma(ec->dma, hwif->name)) {
                icside_dma_init(hwif);
diff --git a/drivers/ide/h8300/ide-h8300.c b/drivers/ide/h8300/ide-h8300.c
index 37b9174..4a49b5c 100644
--- a/drivers/ide/h8300/ide-h8300.c
+++ b/drivers/ide/h8300/ide-h8300.c
@@ -68,7 +68,6 @@ static inline void hw_setup(hw_regs_t *hw)
                hw->io_ports[i] = CONFIG_H8300_IDE_BASE + H8300_IDE_GAP*i;
        hw->io_ports[IDE_CONTROL_OFFSET] = CONFIG_H8300_IDE_ALT;
        hw->irq = EXT_IRQ0 + CONFIG_H8300_IDE_IRQ;
-       hw->dma = NO_DMA;
        hw->chipset = ide_generic;
 }
 
diff --git a/drivers/ide/ide-pnp.c b/drivers/ide/ide-pnp.c
index 2afaa87..e245521 100644
--- a/drivers/ide/ide-pnp.c
+++ b/drivers/ide/ide-pnp.c
@@ -40,7 +40,6 @@ static int idepnp_probe(struct pnp_dev * dev, const struct 
pnp_device_id *dev_id
        ide_std_init_ports(&hw, pnp_port_start(dev, 0),
                                pnp_port_start(dev, 1));
        hw.irq = pnp_irq(dev, 0);
-       hw.dma = NO_DMA;
 
        index = ide_register_hw(&hw, NULL, 1, &hwif);
 
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index 9284f64..4a668d5 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -678,7 +678,6 @@ void ide_setup_ports (      hw_regs_t *hw,
                }
        }
        hw->irq = irq;
-       hw->dma = NO_DMA;
        hw->ack_intr = ack_intr;
 /*
  *     hw->iops = iops;
diff --git a/drivers/ide/legacy/ide_platform.c 
b/drivers/ide/legacy/ide_platform.c
index d1e76fa..1bc9a57 100644
--- a/drivers/ide/legacy/ide_platform.c
+++ b/drivers/ide/legacy/ide_platform.c
@@ -51,7 +51,6 @@ static ide_hwif_t *__devinit plat_ide_locate_hwif(void 
__iomem *base,
        memcpy(hwif->io_ports, hwif->hw.io_ports, sizeof(hwif->hw.io_ports));
        hwif->hw.irq = hwif->irq = irq;
 
-       hwif->hw.dma = NO_DMA;
        hwif->chipset = hwif->hw.chipset = ide_generic;
 
        if (mmio) {
diff --git a/drivers/ide/legacy/q40ide.c b/drivers/ide/legacy/q40ide.c
index a530d6d..44cdb74 100644
--- a/drivers/ide/legacy/q40ide.c
+++ b/drivers/ide/legacy/q40ide.c
@@ -89,9 +89,8 @@ void q40_ide_setup_ports ( hw_regs_t *hw,
                else
                        hw->io_ports[i] = Q40_ISA_IO_B(base + offsets[i]);
        }
-       
+
        hw->irq = irq;
-       hw->dma = NO_DMA;
        hw->ack_intr = ack_intr;
 /*
  *     hw->iops = iops;
diff --git a/include/linux/ide.h b/include/linux/ide.h
index 39b76aa..9686cb4 100644
--- a/include/linux/ide.h
+++ b/include/linux/ide.h
@@ -192,10 +192,6 @@ typedef unsigned char      byte;   /* used everywhere */
 struct hwif_s;
 typedef int (ide_ack_intr_t)(struct hwif_s *);
 
-#ifndef NO_DMA
-#define NO_DMA  255
-#endif
-
 /*
  * hwif_chipset_t is used to keep track of the specific hardware
  * chipset used by each IDE interface, if known.
@@ -217,7 +213,6 @@ typedef u8 hwif_chipset_t;
 typedef struct hw_regs_s {
        unsigned long   io_ports[IDE_NR_PORTS]; /* task file registers */
        int             irq;                    /* our irq number */
-       int             dma;                    /* our dma entry */
        ide_ack_intr_t  *ack_intr;              /* acknowledge interrupt */
        hwif_chipset_t  chipset;
        struct device   *dev;
-
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