libata-sff: ap->[last_]ctl are SFF specific
[safe/jmp/linux-2.6] / drivers / ide / q40ide.c
index 7488d4f..9078608 100644 (file)
@@ -51,11 +51,9 @@ static int q40ide_default_irq(unsigned long base)
 /*
  * Addresses are pretranslated for Q40 ISA access.
  */
-static void q40_ide_setup_ports(hw_regs_t *hw, unsigned long base,
-                       ide_ack_intr_t *ack_intr,
-                       int irq)
+static void q40_ide_setup_ports(struct ide_hw *hw, unsigned long base, int irq)
 {
-       memset(hw, 0, sizeof(hw_regs_t));
+       memset(hw, 0, sizeof(*hw));
        /* BIG FAT WARNING: 
           assumption: only DATA port is ever used in 16 bit mode */
        hw->io_ports.data_addr = Q40_ISA_IO_W(base);
@@ -69,7 +67,6 @@ static void q40_ide_setup_ports(hw_regs_t *hw, unsigned long base,
        hw->io_ports.ctl_addr = Q40_ISA_IO_B(base + 0x206);
 
        hw->irq = irq;
-       hw->ack_intr = ack_intr;
 }
 
 static void q40ide_input_data(ide_drive_t *drive, struct ide_cmd *cmd,
@@ -135,7 +132,7 @@ static const char *q40_ide_names[Q40IDE_NUM_HWIFS]={
 static int __init q40ide_init(void)
 {
     int i;
-    hw_regs_t hw[Q40IDE_NUM_HWIFS], *hws[] = { NULL, NULL, NULL, NULL };
+    struct ide_hw hw[Q40IDE_NUM_HWIFS], *hws[] = { NULL, NULL };
 
     if (!MACH_IS_Q40)
       return -ENODEV;
@@ -156,13 +153,13 @@ static int __init q40ide_init(void)
                release_region(pcide_bases[i], 8);
                continue;
        }
-       q40_ide_setup_ports(&hw[i], pcide_bases[i], NULL,
+       q40_ide_setup_ports(&hw[i], pcide_bases[i],
                        q40ide_default_irq(pcide_bases[i]));
 
        hws[i] = &hw[i];
     }
 
-    return ide_host_add(&q40ide_port_info, hws, NULL);
+    return ide_host_add(&q40ide_port_info, hws, Q40IDE_NUM_HWIFS, NULL);
 }
 
 module_init(q40ide_init);