SWARM IDE: Fix up following changes to ide_hwif_t
authorMaciej W. Rozycki <macro@linux-mips.org>
Wed, 14 May 2008 21:06:14 +0000 (23:06 +0200)
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Wed, 14 May 2008 21:06:14 +0000 (23:06 +0200)
 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>
drivers/ide/mips/swarm.c

index 712d17bdd4705f8ff2d07bf20371c702de79a564..52fee3d2771a7ce7bfdb95592e44b898d9288417 100644 (file)
@@ -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;