]> err.no Git - linux-2.6/blobdiff - drivers/ide/arm/bast-ide.c
Fix broken fix for fsl-diu-db
[linux-2.6] / drivers / ide / arm / bast-ide.c
index a80b9574865e18f03f5d8292133237ed52711bf0..8e8c28104b4543cd0c78ef4b57d728e41010034b 100644 (file)
@@ -35,13 +35,14 @@ static int __init bastide_register(unsigned int base, unsigned int aux, int irq)
        base += BAST_IDE_CS;
        aux  += BAST_IDE_CS;
 
-       for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
-               hw.io_ports[i] = (unsigned long)base;
+       for (i = 0; i <= 7; i++) {
+               hw.io_ports_array[i] = (unsigned long)base;
                base += 0x20;
        }
 
-       hw.io_ports[IDE_CONTROL_OFFSET] = aux + (6 * 0x20);
+       hw.io_ports.ctl_addr = aux + (6 * 0x20);
        hw.irq = irq;
+       hw.chipset = ide_generic;
 
        hwif = ide_find_port();
        if (hwif == NULL)
@@ -49,14 +50,9 @@ static int __init bastide_register(unsigned int base, unsigned int aux, int irq)
 
        i = hwif->index;
 
-       if (hwif->present)
-               ide_unregister(i);
-       else
-               ide_init_port_data(hwif, i);
-
+       ide_init_port_data(hwif, i);
        ide_init_port_hw(hwif, &hw);
-       hwif->mmio = 1;
-       hwif->quirkproc = NULL;
+       hwif->port_ops = NULL;
 
        idx[0] = i;