diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2008-05-14 23:06:14 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-05-14 23:06:14 +0200 |
commit | 4d4423caaa1b9ca709ef6a911a030a3b6e68c46b (patch) | |
tree | bfa9f962659af5ce899fbb8c9abd261d08c74ab5 | |
parent | fc99824c427ed998e3c5e376bd9c640fde1c407c (diff) | |
download | linux-4d4423caaa1b9ca709ef6a911a030a3b6e68c46b.tar.gz linux-4d4423caaa1b9ca709ef6a911a030a3b6e68c46b.tar.bz2 linux-4d4423caaa1b9ca709ef6a911a030a3b6e68c46b.zip |
SWARM IDE: Fix up following changes to ide_hwif_t
Following recent changes to ide_hwif_t update the SWARM IDE driver to use
hw_regs_t to initialize port mapping. Plus minor layout adjustments along
the lines of other drivers.
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
-rw-r--r-- | drivers/ide/mips/swarm.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/ide/mips/swarm.c b/drivers/ide/mips/swarm.c index 712d17bdd470..52fee3d2771a 100644 --- a/drivers/ide/mips/swarm.c +++ b/drivers/ide/mips/swarm.c @@ -4,7 +4,7 @@ * Author: Manish Lachwani, mlachwani@mvista.com * Copyright (C) 2004 MIPS Technologies, Inc. All rights reserved. * Author: Maciej W. Rozycki <macro@mips.com> - * Copyright (c) 2006 Maciej W. Rozycki + * Copyright (c) 2006, 2008 Maciej W. Rozycki * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -70,8 +70,9 @@ static int __devinit swarm_ide_probe(struct device *dev) ide_hwif_t *hwif; u8 __iomem *base; phys_t offset, size; + hw_regs_t hw; int i; - u8 idx[4] = { 0xff, 0xff, 0xff, 0xff }; + u8 idx[] = { 0xff, 0xff, 0xff, 0xff }; if (!SIBYTE_HAVE_IDE) return -ENODEV; @@ -112,14 +113,15 @@ static int __devinit swarm_ide_probe(struct device *dev) hwif->host_flags = IDE_HFLAG_MMIO; default_hwif_mmiops(hwif); - hwif->chipset = ide_generic; - for (i = 0; i <= 7; i++) - hwif->io_ports_array[i] = + hw.io_ports_array[i] = (unsigned long)(base + ((0x1f0 + i) << 5)); - hwif->io_ports.ctl_addr = + hw.io_ports.ctl_addr = (unsigned long)(base + (0x3f6 << 5)); - hwif->irq = K_INT_GB_IDE; + hw.irq = K_INT_GB_IDE; + hw.chipset = ide_generic; + + ide_init_port_hw(hwif, &hw); idx[0] = hwif->index; |