diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-26 22:25:23 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-26 22:25:23 +0200 |
commit | 8552865935538127d2603110b3d36dba2b4e8eff (patch) | |
tree | 511d10093d8cffe4834a80fa96ff7946675fe756 | |
parent | b552a2c1dd01ab2380ea9429899591aa743f02e7 (diff) |
au1xxx-ide: use ->init_dma method
* Pass 'ide_hwif_t *hwif' instead of '_auide_hwif *auide' to
auide_ddma_init().
* Add 'const struct ide_port_info *d' argument to auide_ddma_init().
* Convert the driver to use ->init_dma method.
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r-- | drivers/ide/mips/au1xxx-ide.c | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/ide/mips/au1xxx-ide.c b/drivers/ide/mips/au1xxx-ide.c index d2e926efd3c..54323ab64de 100644 --- a/drivers/ide/mips/au1xxx-ide.c +++ b/drivers/ide/mips/au1xxx-ide.c @@ -380,13 +380,12 @@ static void auide_dma_timeout(ide_drive_t *drive) hwif->ide_dma_end(drive); } - -static int auide_ddma_init(_auide_hwif *auide) { - +static int auide_ddma_init(ide_hwif_t *hwif, const struct ide_port_info *d) +{ + _auide_hwif *auide = (_auide_hwif *)hwif->hwif_data; dbdev_tab_t source_dev_tab, target_dev_tab; u32 dev_id, tsize, devwidth, flags; - ide_hwif_t *hwif = auide->hwif; dev_id = AU1XXX_ATA_DDMA_REQ; @@ -443,9 +442,9 @@ static int auide_ddma_init(_auide_hwif *auide) { return 0; } #else - -static int auide_ddma_init( _auide_hwif *auide ) +static int auide_ddma_init(ide_hwif_t *hwif, const struct ide_port_info *d) { + _auide_hwif *auide = (_auide_hwif *)hwif->hwif_data; dbdev_tab_t source_dev_tab; int flags; @@ -510,9 +509,9 @@ static const struct ide_port_ops au1xxx_port_ops = { }; static const struct ide_port_info au1xxx_port_info = { + .init_dma = auide_ddma_init, .port_ops = &au1xxx_port_ops, .host_flags = IDE_HFLAG_POST_SET_MODE | - IDE_HFLAG_NO_DMA | /* no SFF-style DMA */ IDE_HFLAG_NO_IO_32BIT | IDE_HFLAG_UNMASK_IRQS, .pio_mask = ATA_PIO4, @@ -606,8 +605,6 @@ static int au_ide_probe(struct device *dev) auide_hwif.hwif = hwif; hwif->hwif_data = &auide_hwif; - auide_ddma_init(&auide_hwif); - idx[0] = hwif->index; ide_device_add(idx, &au1xxx_port_info); |